Skip to content

fix(ci): validate, tag and publish a release from the commit it was computed from - #606

Merged
szibis merged 1 commit into
mainfrom
fix/release-from-one-commit
Sep 23, 2026
Merged

szibis merged 1 commit into
mainfrom
fix/release-from-one-commit

Conversation

@szibis

@szibis szibis commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

The failure

The release run for #581 (228dd827) failed with Unreleased changelog section is empty. That was correct at the time: #581 had been merged while behind main, and its entries had landed inside [1.88.0] (repaired in #605). After #605 merged, re-running the release still failed the same way.

Why the re-run could not succeed

#593 made releases queue instead of cancelling each other, and made prepare-release re-read main before computing the version. But the two jobs after it still checked out the commit that triggered the run:

job checked out
prepare-release current main (re-read)
validate-release triggering commit
publish-release triggering commit — the tag is git tag "$TAG" "$GITHUB_SHA", and binaries and the image record github.sha

So any queued or re-run release computed its version and notes from one commit and validated, tagged and built another. The re-run read main (which has #581's entries under [Unreleased]) and decided to release, then validate-release checked [Unreleased] on 228dd827, where it was empty.

The same split can also misattribute a normal queued release: the version is computed after an earlier release's metadata landed, but the tag points at the older triggering commit.

The change

prepare-release records the commit it read as release_sha. validate-release and publish-release check out that commit, the tag is created on it, and it is the revision stamped into the release binaries and the container image. No job uses github.sha any more. The metadata branch was already created from the checked-out commit, so it follows automatically.

actionlint passes.

After merge

This push is CI-only, so the bot will not release from it. The pending [Unreleased] entries (#581) are released either by the next merged fix, or immediately by dispatching Auto Release manually, which now reads and releases from the same commit.

…omputed from

prepare-release re-reads main before computing the version, so a queued
run releases what main holds when its turn comes. validate-release and
publish-release still checked out the triggering commit, so a queued or
re-run release computed its version from current main while validating,
tagging and building an older commit. Re-running the release for #581
failed its Unreleased check on the original commit for exactly this
reason.

Record the commit prepare-release read and use it for every later
checkout, the tag, and the revision stamped into binaries and images.
@github-actions github-actions Bot added size/S Small change scope/ci CI/CD scope/docs Documentation bugfix Bug fix labels Sep 23, 2026
@szibis
szibis merged commit 3a1ab48 into main Sep 23, 2026
27 checks passed
@szibis
szibis deleted the fix/release-from-one-commit branch September 23, 2026 09:21
@github-actions

Copy link
Copy Markdown
Contributor

PR Quality Report

Compared against base branch main.

Coverage and tests

Signal Base PR Delta
Test count 7398 7398 0
Coverage 89.9% 89.9% 0.0% (stable)

Compatibility

Track Base PR Delta
Loki API 100.0% 11/11 (100.0%) 0.0% (stable)
Logs Drilldown 100.0% 17/17 (100.0%) 0.0% (stable)
VictoriaLogs 100.0% 11/11 (100.0%) 0.0% (stable)

Performance smoke

Performance smoke was skipped for this PR because no perf-sensitive paths changed.

State

  • Coverage, compatibility, and sampled performance are reported here from the same PR workflow.
  • This is a delta report, not a release gate by itself. Required checks still decide merge safety.
  • Performance smoke was intentionally skipped because no perf-sensitive paths changed in this PR.
  • Delta states use the same noise guards as the quality gate (percent + absolute + low-baseline checks), so report labels match merge-gate behavior.

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

Labels

bugfix Bug fix scope/ci CI/CD scope/docs Documentation size/S Small change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant