ci: add release freeze gate#11621
Draft
HugoPBrito wants to merge 3 commits into
Draft
Conversation
- Add a PR and merge queue gate for master - Block merges when RELEASE_FREEZE is enabled
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Contributor
|
✅ All necessary |
Contributor
|
✅ Conflict Markers Resolved All conflict markers have been successfully resolved in this pull request. |
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.
Context
Adds a release-freeze gate for pull requests and merge queue checks targeting
master.This PR prepares the repository-side check, but it does not enforce the freeze by itself. To block merges during a release, repository admins must apply the companion platform Terraform change that requires the
release-freeze-gatestatus check onmaster:No issue linked. Draft PR opened to review the release-freeze approach before enabling enforcement.
Description
release-freeze-gateGitHub Actions workflow job for PRs targetingmaster.merge_groupsupport so the same gate can run with merge queue validation.RELEASE_FREEZEis set totrue,TRUE, orTrue.RELEASE_FREEZEis unset, empty,false, or any other value.prepare-releaseto setRELEASE_FREEZE=trueautomatically when release preparation starts.Operational behavior:
Required enforcement after this lands:
release-freeze-gateworkflow exists onmasterandprepare-releasecan enable the freeze.Important operational note: this PR automates enabling the freeze at release preparation time. It does not automatically disable the freeze after release completion yet. Release managers must set
RELEASE_FREEZE=falsemanually unless/until we wire that into the release-completion path.Steps to review
.github/workflows/release-freeze-gate.yml..github/workflows/prepare-release.yml.permissions: {}and does not checkout PR code inrelease-freeze-gate.prepare-releasegrantsactions: writeonly for the job that updates the repository Actions variable.release-freeze-gate.Validation run locally:
uv run prek run check-yaml --files .github/workflows/release-freeze-gate.ymluv run prek run check-yaml --files .github/workflows/prepare-release.yml .github/workflows/release-freeze-gate.ymluv run prek run zizmor --files .github/workflows/release-freeze-gate.ymluv run prek run zizmor --files .github/workflows/prepare-release.yml .github/workflows/release-freeze-gate.ymlcheck yaml,zizmor, andTruffleHogactionlint .github/workflows/release-freeze-gate.yml .github/workflows/prepare-release.ymlwas not run becauseactionlintis not installed locallyChecklist
Community Checklist
SDK/CLI
UI
API
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.