Skip to content

Update stable branching instructions for v1.20 - #415

Merged
joestringer merged 14 commits into
mainfrom
pr/joe/v1.20-feedback
Sep 3, 2026
Merged

joestringer merged 14 commits into
mainfrom
pr/joe/v1.20-feedback

Conversation

@joestringer

@joestringer joestringer commented Jul 10, 2026 •

Copy link
Copy Markdown
Member

Update the RC / branching instructions to include all the new and changed
steps performed while preparing the v1.20 stable branch.

Review commit by commit.

@joestringer
joestringer force-pushed the pr/joe/v1.20-feedback branch from dbbe081 to fd5e94b Compare July 10, 2026 23:49
@joestringer joestringer mentioned this pull request Jul 14, 2026
53 of 55 tasks
Comment thread .github/templates/release_template_rc_branch.md
The branch preparation commits end up with hundreds of thousands of
lines of deletions across the workflows and CLI removal steps, which can
be hard to review through the GitHub UI due to the sheer scale of the
changes. None of these are particularly interesting for deep review, so
it's easier if we split the file cleanup steps out from the workflow
modifications.

Document the branch name creation and how to create separate commits for
the cleanup commits.

Signed-off-by: Joe Stringer <joe@cilium.io>
The unnecessary GitHub workflows are deleted in a later step, delete
that note earlier in the instructions. Other steps can be combined for
easier execution during the creation of the branch. While we're at it,
indent some text to format it correctly.

No functional changes to the instructions in this commit.

Signed-off-by: Joe Stringer <joe@cilium.io>
Many of the changes to workflows consist of a simple branch substitution
from the previous stable branch to the current stable branch. Ignore
these using `git diff --ignore-matching-lines`.

Signed-off-by: Joe Stringer <joe@cilium.io>
The previous step just greps for affected files, this adds an explicit
prompt for the release manager to open the files and make changes.

The expected pattern is to find every instance of the previous stable
branch, and then add the new stable branch as another item in those
target lists.

Signed-off-by: Joe Stringer <joe@cilium.io>
This makes the step clear for when to create the custom branch, and
gives it a consistent name that can be potentially referred to later in
the instructions. The instructions do not currently refer to this branch
name.

Signed-off-by: Joe Stringer <joe@cilium.io>
Add instructions to prepare the CI image build workflow for the stable
branch, according to the way that it's currently expected to work.

Signed-off-by: Joe Stringer <joe@cilium.io>
During the v1.20 stable branch preparation, we encountered constant issues
where the stable branch PR fell out of date (and conflicted) compared to the
workflows on main. Therefore I think it's better for us to grant only
case-by-case exception to feature freeze for CI work rather than a
general exemption, in order to more closely coordinate with the release
managers.

Signed-off-by: Joe Stringer <joe@cilium.io>
The logout would fail with fatal error:

    please provide a registry to log out from

Fix it by specifying the registry to log out from, similar to the login.

Signed-off-by: Joe Stringer <joe@cilium.io>
Ariane was refusing to trigger CI builds because of a missing
dependency, which is specified in the Ariane config on the branch.

Signed-off-by: Joe Stringer <joe@cilium.io>
When the branch is actually created, there may be various PRs in flight
that need their labels updated to ensure that fixes land into the stable
branch as expected. We can proactively apply these labels to reduce the
likelihood that we inadvertently miss some fixes in the final release.

Signed-off-by: Joe Stringer <joe@cilium.io>
This pattern ensures that both 'main' and the next stable release have a
consistent view of the "upgrade-current.md" release notes file, which
means that it is easier to backport changes to these notes that happen
after the stable branch creation.

At the same time, developers can begin documenting new functionality in
the newly created "upgrade-next.md" file, keeping those release notes
separate from the ones in the stable release.

A subsequent step could remove the "upgrade-current.md" file from main,
or alternatively we can just keep it there for the whole following
development cycle and only move it around at the next branch creation.

Signed-off-by: Joe Stringer <joe@cilium.io>
During branch setup we should also update the code that scrapes the
stable branches for CI workflow results.

Signed-off-by: Joe Stringer <joe@cilium.io>
This is taken care of in the feature (minor) release process.

Signed-off-by: Joe Stringer <joe@cilium.io>
Generated via 'make generate-golden'.

Signed-off-by: Joe Stringer <joe@cilium.io>
@joestringer
joestringer force-pushed the pr/joe/v1.20-feedback branch from 8651b02 to ec056e5 Compare September 2, 2026 22:49
@joestringer
joestringer marked this pull request as ready for review September 2, 2026 22:54
@joestringer
joestringer requested a review from aanm September 2, 2026 22:54

@aanm aanm left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The overall changes LGTM but I couldn't find the step that caused this to happen cilium/cilium#48401 but just FYI

@joestringer

Copy link
Copy Markdown
Member Author

@aanm Ah thanks for the pointer. The best suggestion I have would be to create a linter that scans the renovate configuration and checks whether the Go version in go.mod is greater than the version constraint in renovate. Then we can continue to automate the instructions just like we have in these instructions, but we can also identify version mismatches like this as part of submission, and manually fix them up.

(Probably if we have such a check to understand renovate configuration and validate other version constraints, we may want to use it for other dependencies beyond Go)

@joestringer
joestringer merged commit d3f0734 into main Sep 3, 2026
1 check passed
@joestringer
joestringer deleted the pr/joe/v1.20-feedback branch September 3, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants