exercism / problem-specifications

Shared metadata for exercism exercises.
MIT License
326 stars 541 forks source link

Switch to syncing tracks via push rather than pull config #1750

Open SaschaMann opened 3 years ago

SaschaMann commented 3 years ago

GitHub recently introduced a new feature called Environments that let you create a »container« of sorts to limit access to secrets in a more fine-grained way than giving everyone with the commit bit permission to access and use them. GHA workflows can require access to an environment, which will prevent them from running until a select group of people has »reviewed« the run and clicked a button.

This feature would allow us to switch to trigger events from problem-specifications to the track repos, rather than the current configuration where track repos must pull new info.

What would (need to) change?

Advantages

ErikSchierboom commented 3 years ago

I like the idea here. It would be really helpful for maintainers to chip in and indicate if they think this is useful for their tracks.

This may cause a lot of work for the workflow approvers, as they’ll have to approve a run for every PR.

At the current rate of PR merging, this would roughly equate to one approval per day. So I don't think it is that bad. But the schedule option could work equally well and is fully automated.

SaschaMann commented 3 years ago

The schedule would still require approval but it has a cap for how often it would need it.

wolf99 commented 3 years ago

I like the idea here. It would be really helpful for maintainers to chip in and indicate if they think this is useful for their tracks.

For the C track we have low contributor time and no test generator. Creating an issue for each change may be good for the track as it would give a place for potential new contributors to easily pick up from, i.e. being an on-ramp of sorts.

However, I would be concerned that when issues don't get picked up but later ones continue to come in, it may result in multiple historic issues for one exercise that contributors will then need to navigate. Perhaps this could be solved in automation on the track end in some way?

SaschaMann commented 3 years ago

However, I would be concerned that when issues don't get picked up but later ones continue to come in, it may result in multiple historic issues for one exercise that contributors will then need to navigate. Perhaps this could be solved in automation on the track end in some way?

I think having one issue per exercise and then updating it unless it's been closed would be a good default to start with.

SleeplessByte commented 3 years ago

https://github.com/exercism/problem-specifications/issues/1750#issuecomment-750261417 would be perfect for me. Have the same concerns as @wolf99 .

SaschaMann commented 3 years ago

I've started working on a proof of concept here: https://github.com/SaschaMann/probby

iHiD commented 3 years ago

I've unsubscribed from PS (and this issue) as I no longer think it needs my "oversight". If you need me for this, please tag me again :)

ErikSchierboom commented 3 years ago

Let me know if anyone wants a review.