-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Update release workflows for better versioning and safety #1372
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
base: main
Are you sure you want to change the base?
Conversation
📋 Review SummaryThis PR updates the release workflows to improve versioning and safety by adding concurrency controls, rerun safety checks, and changing the merge strategy from PR-based to fast-forward merges. The changes make the release process more robust and prevent racing conditions when pushing to the main branch. 🔍 General Feedback
🎯 Specific Feedback🟡 High
🟢 Medium
🔵 Low
✅ Highlights
|
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
TLDR
This pull request updates the release workflows to improve versioning and safety. Changes include:
Dive Deeper
The changes primarily affect the GitHub Actions workflows for releasing both the CLI and SDK packages:
Concurrency control: Added a shared concurrency group 'release-main' to serialize all release workflows and prevent conflicts when pushing to the main branch.
Rerun safety: Added checks to determine if npm packages or GitHub releases already exist before attempting to publish/create them. This makes the workflows idempotent and safer to rerun.
Release branch handling: Improved the logic for creating and switching to release branches, making it idempotent by reusing existing remote branches if they already exist.
Merge strategy: Changed from creating pull requests to fast-forward merging release changes directly back to main, which avoids creating merge commits in automated workflows.
SDK version adjustment: The SDK package version was corrected from 0.1.0 to 0.1.1; future releases will automatically update the version number.
Reviewer Test Plan
Review the updated GitHub Actions workflow files (.github/workflows/release.yml and .github/workflows/release-sdk.yml) to ensure the concurrency and rerun safety mechanisms work as expected.
Verify that the fast-forward merge strategy is appropriate for the release process and that it won't cause issues with the main branch history.
Check that the npm publishing logic correctly handles reruns by checking if packages already exist before attempting to publish.
Confirm that the version update in packages/sdk-typescript/package.json is intentional and correct.