ci(scripts): update release docs from CI covering all channels#27471
Open
f0ssel wants to merge 1 commit into
Open
ci(scripts): update release docs from CI covering all channels#27471f0ssel wants to merge 1 commit into
f0ssel wants to merge 1 commit into
Conversation
Move release-docs updates out of the local v1 releaser (which opened the PR under the release runner's own identity, so they could not approve it) and into a bot-authored, post-release CI job. - scripts/update-release-calendar.sh now updates the full release-docs version schedule for mainline, stable, ESR, and maintenance ESR (ESR-1): the release calendar, the 'latest ESR version' prose, and the Kubernetes and Rancher per-channel version pins. ESR channels are derived from scripts/release_channels/esr_versions.txt (current ESR = highest active minor, maintenance ESR = next highest). - Add ESR and maintenance ESR pins to docs/install/kubernetes.md and docs/install/rancher.md. - .github/workflows/release.yaml gains an update-docs job that runs the script post-release and opens the docs PR via GITHUB_TOKEN (github-actions[bot]), so the release runner can approve it. - Remove the docs-mutation and PR-creation path from the v1 releaser (scripts/releaser/v1/docs.go), which is now dead.
Docs previewCheck off each page once it's been reviewed. If a page changes in a later push, its checkbox clears automatically so it gets a fresh look. Pages not yet wired into the docs navigation aren't listed here. |
Contributor
Documentation CheckUpdates Needed
Automated review via Coder Agents |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Moves release-docs updates out of the local v1 releaser and into a bot-authored, post-release CI job, and expands coverage to the full version schedule across mainline, stable, ESR, and maintenance ESR (ESR-1).
Note
Stacked on #27460 (
ci/backport-esr-channels), which addsscripts/release_channels/esr_versions.txtthat this change consumes. Review/merge that first; this PR targets that branch.Why
The v1 releaser (
scripts/releaser/v1/docs.go) updated the docs and rangit commit+gh pr createlocally with no bot identity, so the docs PR was authored by the person running the release - who then can't approve their own PR. It also only handled mainline/stable.Changes
scripts/update-release-calendar.shnow updates the full release-docs version schedule:index.md,--versionpins inkubernetes.mdand the per-channel pins inrancher.md,for mainline (n), stable (n-1), ESR, and maintenance ESR (ESR-1). ESR channels derive from
esr_versions.txt(current ESR = highest active minor; maintenance ESR = next highest).docs/install/kubernetes.mdanddocs/install/rancher.md, and refreshed the stale k8s mainline pin..github/workflows/release.yaml: newupdate-docsjob (needs: release,if: !dry_run && channel != rc) that runs the script and opens the docs PR viapeter-evans/create-pull-requestwithGITHUB_TOKEN(→github-actions[bot]), so the release runner can approve it. Pattern copied fromtag-and-release.yaml(the v2 experiment being removed soon).scripts/releaser/v1: removed the now-dead docs-mutation + PR-creation path (docs.go/docs_test.godeleted;release.gonow just points at the CI job).Validation
shellcheck -x+shfmtclean on the script; ran it locally and confirmed it updates all four channels (mainline2.35.2, stable2.34.6, ESR2.34.6, maintenance ESR2.29.19) plus the ESR prose.--versionline (6 lines below the pragma), which is why the k8s mainline pin had been stuck at a stale2.34.0. Widened to 10.go build,go vet, andgo test ./scripts/releaser/v1/...pass.actionlint+zizmorclean onrelease.yaml.Implementation plan
Goal: the release-docs PR is created by a bot in CI (post-release) so the release runner can approve it, and the docs version schedule covers mainline, stable, ESR, and maintenance ESR.
Decisions (confirmed): hook into
release.yaml;GITHUB_TOKENis fine; put all logic in one script CI runs; docs content change to add ESR pins is OK; stack on the backport branch.Approach:
update-release-calendar.shto be the single source of docs-schedule updates (calendar + ESR prose + k8s/rancher pins) for all four channels, deriving ESR/maintenance-ESR fromesr_versions.txt.update-docsjob torelease.yamlthat runs the script and opens a bot PR withGITHUB_TOKEN.Assumptions: 2.x line (major hardcoded, matching existing code); ESR list maintained manually; current ESR = highest active minor, maintenance ESR = next highest.
Opened by Coder Agents on behalf of @f0ssel.