Repository navigation
ci(release): check_release.sh / prepare_beta.sh; version-bump keeps betas; release branches checked in CI (#1498) - #1709
Merged
Conversation
… a beta version; release branches are checked in CI (#1498)
This was referenced Oct 25, 2026
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.
Closes #1498. Part of the Beta channel epic #1499.
Cutting a release needs the tag, pubspec and CHANGELOG to agree, and until now a mismatch showed up only in the Publish GitHub Release job after the tag was pushed.
scripts/release/check_release.sh <tag> [--no-tag-check]fails with a line per problem unless:X.Y.ZorX.Y.Z-<letters, digits, dots>, an optional leadingv);+buildequals the tag;CHANGELOG.mdhas## [<version>](checked with the sameextract-changelog-section.shthe workflow uses);--no-tag-check).It then prints what the Release workflow will do: a pre-release offered only on Beta with AUR and APT / DNF skipped (#1492), or a stable release made
latest.scripts/release/prepare_beta.sh X.Y.Z Nsetsversion: X.Y.Z-beta.N+<build + 1>and puts a dated## [X.Y.Z-beta.N]heading right under## [Unreleased], so what was unreleased becomes the beta's notes. It prints the check / commit / tag commands and commits nothing.Workflows
version-bump.yml: when the merged pubspec carries a pre-release version, it is left as is (a notice instead of the bump). Before,0.5.0-beta.2+7merged intomainbecame0.5.1+8.ci.yml: aRelease branch checkjob runscheck_release.shfor the pubspec version on pull requests fromrelease/*branches. It is a separate job, not part of the required Run Tests.release.yml→version-hint: runs the same checks with--no-tag-checkand turns problems into a warning (the tag is already pushed there).Tests (
test/packaging/release_scripts_test.dart, in temporary git repositories): a prepared beta passes and is announced as a pre-release; a missing CHANGELOG section is named; pubspec / tag mismatch; a beta without a build number; non-SemVer tags; an existing tag (and--no-tag-check); a stable tag announced aslatest;prepare_beta.shsets the version, moves Unreleased under the beta heading and then passes the check; it refuses an existing section and bad arguments.