[bot] Merge master/25f6f768 into rel/dev - #1767
Merged
Merged
Conversation
Releasing needed three manual actions: dispatch bump-version, dispatch netlify-deploy, then hand-tag master. Now bump-version pushes vX.Y.Z at the end of the bump job, and that one tag event triggers build-release and netlify-deploy in parallel. The tag is pushed from the bump job itself rather than the commented-out trigger-release job, which would have tagged the pre-bump commit: its fresh checkout resolves to master as of dispatch time. The push must also carry TOKEN_GITHUB_YENKINS_ADMIN, already used for the master push, because GitHub does not trigger workflows from GITHUB_TOKEN pushes -- the likely reason that job was left disabled. Release branches are now rel/X.Y.Z for every bump type. The old patch/X.Y.Z naming was the repository's only reference to patch/, and it hid patch releases from both the pre-merge pipeline and the docs build, which key off rel/** and rel/* respectively. Adds release-tag-checks, which answers the two questions the release workflows ask about a tag. They are not the same question and they disagree exactly on the backport cases. is_latest, the highest stable vX.Y.Z tag, decides the "Latest" badge, so a patch of an older line does not take it from the current release. is_on_master, an ancestry check against the default branch, decides the documentation deploy: releases are tagged on master, while a patch is branched from a release branch and never merged back. Gating the docs on is_latest instead would have let a patch of the newest line through -- it produces the highest tag but still a tree behind master, and the hugo action checks out the triggering tag, so the deploy would have reverted every documentation change merged since that release. The three workflows are serialized. bump-version is keyed by branch so a hotfix bump stays independent of one from master; netlify-deploy takes one group for its shared deploy target; build-release is serialized because is_latest is computed once per run, so two releases in flight could let the earlier one finish last and take the badge back. None cancel in progress -- an interrupted release is a half-made one. MAINTENANCE.md replaces the three-step release with the single dispatch and documents the previously unwritten procedure for patching an already released version, including why bump-version must not be used for it and that a tag runs the workflows as they exist at that tag, so older release lines need the workflow cherry-picked before tagging. Also quotes $GITHUB_OUTPUT in the bump step, clearing the file's last shellcheck warning, and notes on the draft netlify-deploy-v2 that it must bring the gate along when it takes over.
ci: drive the whole release from a single tag push
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.
🚀 Automated PR to perform merge from master into rel/dev with changes up to 25f6f76 (created by https://github.com/gooddata/gooddata-python-sdk/actions/runs/33484810806).