Protect main branch of recipes #777
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upgrading recipes requires pushing new commits and tags directly to the main branch of the repository. This is risky and it requires enormous trust in maintainers. The risk is somewhat reduced by automating the procedure with
abra, but it would be even better to protect the main branches of recipes. The way I imagine upgrades with protected main-branches is to push new commits to feature-branches, require maintainer approvals before merges and then handle creation of tags in pipelines.Requirements:
--chaosflag?)abratoday.This could also potentially make the renovate bot extremely powerful, as new upgrades would just require merging it's MRs (after testing the feature-branch of course).
I realize this requires a change to every recipe repo, but it should be possible to change one at a time by just including a pipeline template. It would change the workflow for every maintainer using coopcloud so it has to be discussed thoroughly before implementing!
hey @benjaminlyng, thanks for opening this and sharing your thoughts.
You're on the right track, and your initiative is very welcome. We recently wrote https://docs.coopcloud.tech/maintainers/maintain/ together after some of us met at CCC in germany. This was a follow-up of https://docs.coopcloud.tech/federation/resolutions/passed/025/ which was voted on.
There has been a serious amount of collective discussion on this topic in the last few months.
The TLDR; is to reduce the chaos of upgrades through encouraging more maintainers to get involved on specific recipes they maintain. You'll see in https://docs.coopcloud.tech/maintainers/maintain/#repository-permissions that the main branch does get protected. This will reduce the worst of the "push to main" praxis we've had for several years which is now becoming untenable due to increasing participation (a great problem to have).
I would recommend you consider joining the federation and/or becoming a recipe maintainer and getting involved via that route. If you want to discuss specific concrete things that maintainers can implement, I'd ask first in the matrix channels and then if it sees traction, raise a broader issue on https://git.coopcloud.tech/toolshed/organising/issues. This could then be integrated into the
MAINTENANCE.mdagreements that each maintainer agrees to honour.This issue isn't specifically about
abraand concerns broader issues, so I will close it here. If you're looking for more discussion on howabra recipe releaseshould improve, that'd be over here: toolshed/organising#663.I hoep that is clear, thanks!