-
Notifications
You must be signed in to change notification settings - Fork 5
Add release automation workflows #2196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
Introduces two workflows to automate the release process: - prepare-release.yml: Creates release branch, updates version, triggers tests. Supports major/minor/patch version bumps. - finish-release.yml: Validates tests passed, creates GitHub release, and bumps main to next snapshot version via auto-merge PR. The two-workflow design allows recovery from ephemeral test failures by letting users manually rerun tests before completing the release. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
- Pass inputs via environment variables instead of direct interpolation to prevent shell command injection - Check for empty/null result from gh run list before parsing to provide accurate error message when no test runs exist Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
Add headSha validation to ensure the passing test run actually tested the current HEAD of the release branch. This prevents releasing untested code if the branch was modified after tests passed. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
Output the validated commit SHA from the verify_tests step and use it as the --target for gh release create. This ensures the release is created at the exact commit that was tested, preventing a race condition where the branch could move between validation and release creation. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
Check if a PR from snapshot to main already exists before attempting to create one. If it exists, update the existing PR's title and body instead of failing with "a pull request already exists" error. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
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
prepare-release.ymlworkflow to create release branches and trigger testsfinish-release.ymlworkflow to create GitHub releases and bump snapshot versionsHow It Works
Prepare Release
release-X.Y.Zbranch with version updatedFinish Release
Test plan
prepare-releasewith a patch bumpfinish-releaseafter tests pass🤖 Generated with Claude Code
Note
Introduces GitHub Actions to automate release preparation and completion.
prepare-release.ymlto calculate versions from currentVERSION_NAME, createrelease-X.Y.Zbranch with updatedgradle.properties, and triggertest.ymlon that branchfinish-release.ymlto validate the release branch and confirm tests passed on the exact HEAD, create a GitHub Release (vX.Y.Z), and open an auto-merge PR fromsnapshottomainto bumpVERSION_NAMEto the next-SNAPSHOTWritten by Cursor Bugbot for commit a6e72e1. This will update automatically on new commits. Configure here.