We outlined a new point release protocol in the "Final Cosmos Github Org" document here. It needs to be added to the CONTRIBUTIONS.md file of the repository in the appropriate format.
Actually 3 tasks here:
Notedly still missing is the process for __Strategy Discovery__, which should maybe get made into a new issue.
Concept Approval
- Time bound period for Request for Comment (RFC) on Architectural Decision Records (ADR)
Is there a proposed time frame?
Implementation & Release Approval
- Ensure the PR does exactly what the ADR said it should
- More senior engineering capability
⅔ approval from these initial three
- Aaron, Bez & Alessio
Secondary pool of candidates to replace / substitute
- Marko, Federico, Jonathan & Cory
Is this a proposed change to our PR approval process?
If so, I think requiring 2/3 approval from the three of us (or our representatives) would bring development to a halt for all teams.
Right now we have 1 approval as _required_ for PRs, but 2 approvals is the recommended practice and what is required for automerge. If there are mistakes, they can always be corrected in later PRs and anyone is welcome to request changes to any PR at any time.
I do not see the current system as broken and I'm not aware of anyone complaining because PRs are getting merged without enough approvals. Maybe it's happened for individual PRs, but that gets cleaned up. If anything people are already waiting too long for reviews.
It's my understanding that the concept approval section would apply to any ADRs (all of which are made against master).
However, the implementation section I think is only meant to apply to PRs into a release branch, (e.g. launchpad/backports, or the new v0.40.x branch for stargate). Is that correct @okwme ?
Currently we essentially already hve this process underway for Launchpad with myself, Alessio & Ethan F as the release committee. I cannot remember exactly what those access controls are but they may even require 3/3 consensus, @alessio ?
It's worth clarifying what "approval" actually means for cutting a major release too, and at which point, if any, we put access control restrictions on a release branch. The v0.40.x is currently live, and so we technically should be putting access control restrictions on it already, but I also share @aaronc's concern that this may unnecessarily slow down development depending on who is on the release committee.
Dropping here my thoughts that I shared in the last call:
Hey - any news on this?
@clevinson
It's my understanding that the concept approval section would apply to any ADRs (all of which are made against master).
However, the implementation section I think is only meant to apply to PRs into a release branch, (e.g. launchpad/backports, or the new v0.40.x branch for stargate). Is that correct @okwme ?
That's my understanding as well. No changes to the current merging process @aaronc except that RFC/ADR merges into master should have +2/3 approvals. We don't need to put actual access control restrictions on this process since github would have a hard time understanding which PRs were RFC/ADR. We would just want to ensure it ourselves.
WRT releases I'd also suggest that this 2/3 should not apply to release candidates, just the final release.
@aaronc These should not greatly modify (or modify at all) the current process and if you are still concerned it would slow things down I'd like to understand how we can modify them so they do not. The only difference from now I can see is that RFC/ADRs _require_ 2 approvals (even if it's technically possible to merge it with only 1). If it is taking too long to get 2 approvals with the current configuration let's address the reason why and figure out what is needed: more eligible reviewers? more direct compensation? a dedicated "reminder" role?
It seems that we could merge these into CONTRIBUTIONS.md and would be following them regardless for the Stargate release. If they were merged before then we could technically say that we followed this "new" release method which would actually mean a lot.
This matches my understanding of the release process needs for the community, the spirit of the conversations we've had between stakeholders and I am excited to see it merged.
PR is OPEN #7999
(🙏 @aaronc )