feat: rc check req relaxation - #2
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refactors the release-tag derivation flow by consolidating the previous “compute tag” + “check tag doesn’t exist” steps into a single release-get-tag action, while also relaxing the “RC required before stable” rule behind a configurable flag.
Changes:
- Add
requireRcBeforeStablesupport to stable tag computation (with a relaxed default path when no RC exists). - Introduce
release-get-tagaction that can validate the branch prefix and optionally fail if the computed tag already exists. - Update docs/examples and remove obsolete actions/workflows.
Reviewed changes
Copilot reviewed 19 out of 22 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/release/version.ts | Adds configurable “RC required before stable” behavior and derives next stable patch when RCs are absent. |
| src/release/version.test.ts | Updates/extends unit tests for the new stable-tag behavior. |
| src/release/validate-branch.ts | Adds branch-prefix validation helper for release workflows/actions. |
| src/release/validate-branch.test.ts | Adds tests for branch-prefix validation behavior and error message. |
| src/release/compute-tag.ts | Plumbs requireRcBeforeStable into computeStableTag and reads it from env. |
| src/release/compute-tag.test.ts | Updates tests for new computeTag signature; adds/adjusts throw behavior coverage. |
| src/actions/release-get-tag/index.ts | New unified action orchestrating branch validation, tag computation, and optional “tag must not exist” check. |
| src/actions/release-compute-tag/index.ts | Removes deprecated action implementation. |
| src/actions/release-check-tag-not-exists/index.ts | Removes deprecated action implementation. |
| scripts/build-actions.mjs | Updates action build list to bundle only the new unified action. |
| README.md | Updates documentation to reflect the relaxed RC requirement and new usage guidance. |
| examples/release-software.yml | Adds example using the new release-get-tag action with the new inputs. |
| examples/release-create-branch.yml | Adds example workflow for cutting a release branch. |
| actions/release-get-tag/dist/index.js | Adds/updates bundled JS for the new release-get-tag action. |
| actions/release-get-tag/action.yml | Defines the new action inputs/outputs and defaults. |
| actions/release-compute-tag/action.yml | Removes deprecated action metadata. |
| actions/release-check-tag-not-exists/action.yml | Removes deprecated action metadata. |
| .github/workflows/validate-deps.yml | Removes obsolete reusable workflow. |
| .github/workflows/release-software.yml | Removes obsolete reusable workflow (replaced by examples/new flow). |
| .github/workflows/release-helm-chart.yml | Removes obsolete reusable workflow. |
| .github/workflows/release-get-tag.yml | Removes obsolete reusable workflow (logic moved into the action). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.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.
Refactor the release workflow actions to consolidate and simplify the release process. The main changes include deprecating the separate
release-compute-tagandrelease-check-tag-not-existsactions in favor of a new, unifiedrelease-get-tagaction.Documentation and workflow examples have been updated to reflect this new approach, and the codebase has been cleaned up to remove obsolete files and references.
Behavioral improvements:
release-get-tagaction for stricter validation and configurability, such asrequire_rc_before_stable,validate_branch, andcheck_tag_not_exists. (actions/release-get-tag/action.yml, actions/release-get-tag/action.ymlR1-R35)These changes streamline the release process, reduce duplication, and make the workflows easier to maintain and use.