Skip to content

chore(release): check_release.sh, a beta preparation helper and version-bump for pre-releases #1498

Open

Description

@ZhuchkaTriplesix

Part of the Beta channel epic #1499.

Problem

Cutting a beta by hand needs five edits that must agree (pubspec, CHANGELOG section, tag, release branch name, AUR / metainfo versions) and the failure shows up late, in the Publish GitHub Release job. Nothing checks it before the tag is pushed.

Scope

  • scripts/release/check_release.sh <tag>: fails unless pubspec semver equals the tag (without v), the CHANGELOG has ## [<tag>], the tag is not already used, and, for a tag with -, the pubspec build number is present. Prints what the workflow will do (pre-release or stable, which package jobs run).
  • scripts/release/prepare_beta.sh X.Y.Z N (optional): sets version: X.Y.Z-beta.N+B, adds an empty ## [X.Y.Z-beta.N] section from [Unreleased], and prints the tag command. Never commits or pushes.
  • version-bump.yml: when the PR is a release branch PR carrying a pre-release version, do not bump (or document why it is safe); today it strips -beta.N on merge to main.
  • A job in ci.yml that runs check_release.sh on PRs from release/* (dry mode).
  • version-hint reuses the same checks.

Acceptance

  • check_release.sh 0.5.0-beta.1 on a prepared release branch passes; on a missing CHANGELOG section it names the missing section.
  • A PR from release/* runs the check in CI.
  • A beta version in pubspec survives the merge of its release PR (or the doc explains the manual step precisely).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low priority / Polish & EnhancementsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions