mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-09 22:13:18 +09:00
docs/release.md had grown into one page that mixed the release model, the CI pipeline, changelogs, signatures, nightlies and the fires seen at release time. A reader looking for one of them read all of it, and an edit to one part reflowed the rest. It now indexes one page per topic under docs/release/. The pages already describe how fixes reach a release line through the backport batch, which the following commits add. Workflows, scripts and tests that named docs/release.md now point at the page that holds the text they mean. Assisted-By: LLM Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
1.3 KiB
1.3 KiB
Splitting a release-blocking bundle PR
Sometimes the work that has to land before a release is a 40-commit grab bag (CI stabilization, dependency bumps, chart fixes). Splitting it makes it reviewable and survivable. The strategy that has worked:
- Verify what's already on
main. Usegit merge-base --is-ancestorand subject grep to drop commits that have already landed. - Find existing open PRs that cover the same commits. Force-push to the existing branch instead of opening a duplicate — preserves review threads.
- Identify the "bottleneck" PR. The one whose changes make previously-silent misconfigurations into hard errors (typically an operator-version bump). Everything else can fan out in parallel.
- Squash iterative same-author bug-on-bug fixes inside each split. Preserve authorship via
--authoron the squashed commit. - Mark the keystone PR as draft and link in the body to the dependency PRs. Reviewers know it intentionally fails CI until the chain lands.
- Beware of concurrent registry pushes. When fanning out 5+ PR CI runs simultaneously, multiple
make imagejobs can collide on shared floating tags. TheIMAGE_TAG=pr-<N>-<sha>refactor solved this; if you seeConflicted with another upload of the same manifest,gh run rerun --failed.