Skip to content

fix: Only update stable branch when a release was actually created - #6910

Open
pujitha24 wants to merge 1 commit into
feast-dev:masterfrom
pujitha24:auto/issue-5252
Open

pujitha24 wants to merge 1 commit into
feast-dev:masterfrom
pujitha24:auto/issue-5252

Conversation

@pujitha24

Copy link
Copy Markdown

What this PR does / why we need it:

semantic-release exits 0 when there are no releasable commits, so the release job succeeds and update_stable_branch still force-resets stable without a release. The release job now outputs released (true only if a new git tag was created by semantic-release), and update_stable_branch requires it. Dry-run behaviour is unchanged. publish_versioned_docs is intentionally left alone.

Which issue(s) this PR fixes:

Fixes #5252

Checks

  • I've made sure the tests are passing.
  • My commits are signed off (git commit -s)
  • My PR title follows conventional commits format

Testing Strategy

  • Unit tests
  • Integration tests
  • Manual tests
  • Testing is not required for this change

Misc

Validated: YAML parses; the tag-count logic was run in a scratch git repo (no new tag -> false, new tag -> true). Not run: the actual release workflow (needs release tokens), so end-to-end behaviour is not observed.

Fixes #5252

fix: Only update stable branch when a release was actually created

Motivation:
semantic-release exits 0 when it finds no releasable commits ("no new
version is released"). The release job therefore succeeds, and the
update_stable_branch job, which only depends on it and on dry_run ==
'false', still runs and force-resets the stable branch to the release
branch head, even though no release or tag was created.

Approach:
The release job now exposes a `released` output. The Release step
counts local tags before and after running semantic-release (the
checkout uses fetch-depth 0, and semantic-release creates the tag when
it releases) and sets released=true only if a new tag appeared.
update_stable_branch additionally requires released == 'true'.
Dry-run behaviour is unchanged. publish_versioned_docs is left as is.

Validation:
- Parsed release.yml with python yaml.safe_load (valid).
- Ran the tag-count shell logic in a scratch git repo: no new tag gives
  released=false, a new tag gives released=true.
- Not run: the real release workflow (needs release tokens and a real
  semantic-release run), so the end-to-end behaviour is reasoned from the
  workflow and semantic-release's documented behaviour, not observed.

Report: feast-dev#5252
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Assisted-by: claude-sonnet-5-5 (via Claude Code)
@codecov-commenter

codecov-commenter commented Oct 1, 2026 •

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 48.04%. Comparing base (dd9f099) to head (fe4dfe0).
⚠️ Report is 2 commits behind head on master.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #6910   +/-   ##
=======================================
  Coverage   48.04%   48.04%           
=======================================
  Files         427      427           
  Lines       53591    53591           
  Branches     7800     7800           
=======================================
  Hits        25749    25749           
  Misses      25986    25986           
  Partials     1856     1856           
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 49.38% <ø> (ø)

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 023614b...fe4dfe0. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release CI Bug - stable branch is updated when it shouldn't be

2 participants