Fix auto-version workflow: create releases for version branches#359
Merged
Fix auto-version workflow: create releases for version branches#359
Conversation
Copilot
AI
changed the title
[WIP] Fix auto-version-and-tag workflow logic bug
Fix auto-version workflow: create releases for version branches
Feb 13, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR fixes a critical bug in the auto-version workflow where releases were not created when version files were already updated in merged PRs (e.g., from version branches like 1.5.6). The fix ensures that every merge to main creates a release, either immediately or after a version bump PR merges.
Changes:
- Always extract version from package.json before checking git diff, ensuring version output is set in both scenarios
- Update tag creation conditional from
has_changes == 'true'toversion != ''to enable tag creation for both workflow paths - Add branching logic in tag creation step to handle direct tagging (no PR) vs. PR-based tagging scenarios
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.github/workflows/pipeline.yml |
Updated auto-version workflow logic to always extract version and conditionally create tags for both scenarios (version already updated vs. needs updating) |
RELEASING.md |
Documented both workflow scenarios clearly and added troubleshooting entry for the fixed bug with manual workaround instructions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ches Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com>
eb32059 to
7ee0348
Compare
devakesu-admin
approved these changes
Feb 13, 2026
devakesu
approved these changes
Feb 13, 2026
devakesu
added a commit
that referenced
this pull request
Feb 13, 2026
* Initial plan * Fix auto-version-and-tag workflow to create releases for version branches Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com>
devakesu
added a commit
that referenced
this pull request
Feb 13, 2026
…multi-arch (#360) * Fix auto-version workflow: create releases for version branches (#359) * Initial plan * Fix auto-version-and-tag workflow to create releases for version branches Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> * Initial plan * Fix incomplete Docker pull command by using IMAGE_NAME secret Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> * Add Docker layer caching and conditional ARM64 builds for performance Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> * Update docs/BUILD_PERFORMANCE.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Devanarayanan <fusion@devakesu.com> * Update .github/workflows/release.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Devanarayanan <fusion@devakesu.com> * Make platform messaging dynamic based on actual build platforms Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> * Improve sed command robustness for platform formatting Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> * Fix gh release create: add GH_TOKEN and remove conflicting --generate-notes Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> * Apply consistent platform formatting in VERIFY.md Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> --------- Signed-off-by: Devanarayanan <fusion@devakesu.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: devakesu <61821107+devakesu@users.noreply.github.com> Co-authored-by: Devanarayanan <fusion@devakesu.com> Co-authored-by: Copilot <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.
The
auto-version-and-tagjob skipped tag creation when version files were already updated in merged PRs (e.g., branch1.5.6), breaking the "every merge to main creates a release" contract.Root cause: Version extraction was conditional on git changes. When
bump-version.jsdetected no changes,versionoutput was never set, causing tag creation step to skip.Changes
Workflow logic (
.github/workflows/pipeline.yml)Always extract version before checking git diff (lines 303-305)
Update tag creation conditional from
has_changes == 'true'toversion != ''(line 402)Branch on
has_changesflag within tag creation step (lines 410-419)Documentation (
RELEASING.md)Result
Both paths now create releases:
1.5.6) → tag created immediatelycopilot/*) → PR created → merged → tag createdOriginal prompt
Fix Auto-Version-and-Tag Workflow Logic Bug
Problem
The
auto-version-and-tagjob fails to create releases when version files are already updated in the merged PR. This breaks the intended workflow where every merge to main should create a release.Current Behavior
When a PR with branch name
x.x.x(e.g.,1.5.6) is merged:1.5.6auto-version-and-tagjob runsbump-version.jsscript runs successfullyhas_changes=falseExpected Behavior
According to the project's release logic:
Case 1: Branch name =
x.x.xformatvx.x.ximmediatelyCase 2: Branch name ≠
x.x.xformat (e.g.,copilot/*,feature/*)Result: Every merge to main creates a release (either immediately or after version bump PR merges)
Root Cause
In
.github/workflows/pipeline.ymllines 288-304, the workflow checks for git changes:Problem: When
has_changes=false, theversionoutput is never set, and all subsequent steps are skipped viaif: steps.check.outputs.has_changes == 'true'.Required Fix
1. Update "Check for version changes" step (line 288-304)
Always extract version (even when no changes):
2. Update conditional steps
PR creation steps (lines 306-341): Keep existing condition
Tag creation step (lines 390-435): Change to run when version is set
3. Update GPG import and GitHub App token steps
...
This pull request was created from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.