Open
Conversation
New bin/release script that automates the full release process: - Major releases: creates branch, generates changelog, updates version, creates GitHub release, triggers Docker build, opens changelog PR - Patch releases: same flow on existing release branch - Individual subcommands for testing each step independently Removes bin/release_manager.py and bin/get_changes.py which used an older RC-based release workflow. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
bin/release— a single script that automates the full release process for both major and patch releasesbin/release_manager.pyandbin/get_changes.pywhich used an older RC-based workflow that no longer matches our processMajor release (
bin/release major)v26.3) from master$EDITORfor review, writes toCHANGELOG.mdpackage.json,redash/__init__.py,pyproject.tomlpreview-image.ymlwithdockerRepository=redash)changelog/v26.3.0→master) with just theCHANGELOG.mdupdatePatch release (
bin/release patch)Same flow but run from an existing release branch after cherry-picking fixes. Bumps the patch version and generates changelog from commits since the last tag.
Subcommands for testing individual steps
Each step is also available as a standalone subcommand:
Test plan
bin/release major --dry-run— validates checks, shows planned stepsbin/release patch --dry-run— validates checks on release branchbin/release check-major— correctly detects existing branch/tagbin/release check-patch— correctly detects missing commitsbin/release changelog 26.3.0 --since-tag v25.8.0— generates entries from PRsbin/release update-version 99.9.9— updates all three files correctlybin/release build-image --ref v26.3 --dry-run— shows correct commandbin/release create-release v99.9.9 --target v26.3 --dry-run— shows correct commandbin/release changelog-pr 26.3.0 --release-branch v26.3 --dry-run— shows correct flow🤖 Generated with Claude Code