Release CI Bug - `stable` branch is updated when it shouldn't be
Expected Behavior
The update_stable_branch job should only run when a feast release is triggered & committed.
https://github.com/feast-dev/feast/blob/master/.github/workflows/release.yml#L189
Current Behavior
The gh action finishes successfully, but not release is actually triggered or commited to the feast repo. But, because the action completes w/o error, the remaining update_stable_branch job runs, but incorrectly retags the prior release.
https://github.com/feast-dev/feast/actions/runs/14336350661/job/40184783409#step:9:86
[2:44:26 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The commit should not trigger a release
[2:44:26 PM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analysis of 2 commits complete: no release
[2:44:26 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[2:44:26 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/exec"
[2:44:26 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "@semantic-release/exec"
[2:44:26 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/exec"
[2:44:26 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "@semantic-release/exec"
[2:44:26 PM] [semantic-release] › ℹ There are no relevant changes, so no new version is released.
As a result of this improper tagging, the current version tag is no longer tied to the proper branch and the next attempted release can't increment its version correctly.
Steps to reproduce
Specifications
- Version: 0.48+
- Platform: gh actions
- Subsystem: @semantic-release/commit-analyzer
Possible Solution
Add a boolean output to the release job in the release workflow file -
https://github.com/feast-dev/feast/blob/master/.github/workflows/release.yml#L145
This new boolean field should be set to true only if a release is actually triggered.
The update_stable_branch job would only execute if this new release field is true.