Skip to content

[ci] Make the release workflows backport-safe - #6854

Merged
gz merged 4 commits into
mainfrom
ci-backport-release-guards
Aug 14, 2026
Merged

[ci] Make the release workflows backport-safe#6854
gz merged 4 commits into
mainfrom
ci-backport-release-guards

Conversation

@gz

@gz gz commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Shipping v0.291.1 from its release branch required hand-patching every floating pointer out of the branch's workflow copies, because the release workflows assume each release is the newest version (see the v0.291.1 backport runbook).

  • ci-release.yml: compute is_newest (released version vs highest existing tag) and gate the GitHub make_latest marker, the :latest docker retag, and the docs.feldera.com deploy on it.
  • ci-release.yml: bump the softprops/action-gh-release pin — the old commit predates the make_latest input and silently ignored it, which is why v0.291.1 briefly became the 'latest' release during the backport (remediated by re-marking v0.332.0).
  • ci-post-release.yml: skip the version bump on main when the published release is older than main's current version. The publish jobs stay unguarded: registries order by semver, so publishing an old version is safe.

With this, a future backport release can run through the normal release path without touching what newer releases own.

Shipping v0.291.1 from its release branch required hand-patching every
floating pointer out of the branch's workflow copies, because the
release workflows assume each release is the newest version.

Compute whether the released version is the newest existing tag and
gate the floating pointers on it: the GitHub 'latest' marker, the
:latest docker tag, and the docs.feldera.com deploy. Skip the
post-release version bump on main when the published release is older
than main's current version. Bump the action-gh-release pin: the old
commit predates the make_latest input and silently ignored it.

With this, a backport release runs through the normal release path
without touching what newer releases own.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
@gz
gz requested review from jyotshnayaparla-00 and mihaibudiu and removed request for mihaibudiu August 13, 2026 17:20
gz added 3 commits August 13, 2026 10:23
feldera/cloud's release workflow needs the identical comparison; a
composite action gives both repos one source of truth.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
The is-newest-version check now errors out when no vX.Y.Z tag is
visible instead of defaulting to newest (a tagless checkout would have
moved every floating pointer onto a backport), and only strict X.Y.Z
tags participate in the comparison (a stray vnext or v1.2.3-rc1 tag
outranks real versions under sort -V and would flip a normal release to
a backport). Also correct the pin-bump rationale: v2.3.2 accepts
make_latest but fails to apply it when publishing.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Comment thread .github/workflows/ci-release.yml
@gz
gz added this pull request to the merge queue Aug 13, 2026
Merged via the queue into main with commit 3bbe752 Aug 14, 2026
1 check passed
@gz
gz deleted the ci-backport-release-guards branch August 14, 2026 05:12
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.

2 participants