Open joestringer opened 2 months ago
Another example that came up during the Cilium weekly developer meeting today is for ready-to-merge
. Proposal was to have a merge-proposal
label that developers can set, which has clearer intent: A developer should set this to request that a PR should be merged regardless of the CI results. Then, @cilium/tophat can look for PRs with this label and assess whether the PR is ready to merge or not and potentially merge it. This could be useful in cases where Ariane is not yet advanced enough to detect the impact of some changes, for instance because the PR only makes changes to code comments. This would contrast with ready-to-merge
, which is set by a bot when all requirements have actually been completed.
Specifically regarding release-blockers, I'm exploring the potential use of GitHub projects to track proposals and status here: https://github.com/orgs/cilium/projects/51/views/1 .
I'm thinking somewhat of a process like the following:
We can then also periodically evaluate whether "inactive" issues should remain in the list of blockers. If an issue is not making progress and yet is marked as a blocker, then this is a sign of a discrepancy between the assignee's priorities and the project priorities, so either we should work with the assignee to understand the impact+timelines, or re-evaluate the assignee or even blocker status.
I'd also like to integrate severity into this in some way. Perhaps something along the lines of the following:
The above is a rough proposal of the practical workflow which we can further document once we've tested it out and get into the groove of managing the projects.
While the above is thinking more through the release-blocker aspect highlighted by the issue description, I think that these guidelines may also be relevant for backports. I'm not yet looking into backports just because they have a higher throughput of issues and they are generally more automated for now with fewer maintainer touch-points. After evaluating some process patterns for release blockers, we could look into expanding some of the usage into backports.
There's a few labels that we tend to use in the Cilium development community which have unclear semantics. This task is to document the expectations around their usage and drive consensus amongst developers to ensure consistency.
In particular, there tends to be a lack of clarity around whether the following labels represent a request to potentially backport or block a release (which requires a response), or whether they represent a statement that evaluation of severity has occurred, hence requiring adherence by the relevant parties (rotating backporter, release managers).
Labels: