Skip to content

fix(release): skip tagging when the release tag already exists on HEAD - #326

Merged
ssyno merged 2 commits into
mainfrom
fix/spyros/release-tag-idempotent
Oct 20, 2026
Merged

ssyno merged 2 commits into
mainfrom
fix/spyros/release-tag-idempotent

Conversation

@ssyno

@ssyno ssyno commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

What

The release workflow's tag step now checks the remote first. Tag absent: create and push as before. Tag present on HEAD, lightweight or annotated: skip. Tag present on another commit: fail the release.

Why

The SEC-43 tag ruleset lets only cloud-admins create v* tags, and this workflow pushed the tag itself with the Actions token, so the next release would fail at that step. kubernetes-api keeps the v prefix because it is a Go module consumed by operator, qdrant-cloud-agent and qdrant-private-cloud. Until a release App exists, a cloud-admin pushes the tag ahead of the release run and the workflow continues from there. Interim fix agreed with Alex in the SEC-41 thread.

The v* tag ruleset lets only cloud-admins create tags, so a cloud-admin
pushes the release tag ahead of the release run. The workflow then finds
the tag on HEAD and continues instead of failing; a tag on a different
commit still fails the release.
@ssyno
ssyno requested a review from a team as a code owner October 19, 2026 14:18
@ssyno
ssyno requested a review from lakhansamani October 19, 2026 14:18
@github-actions github-actions Bot added the fix label Oct 19, 2026
@ssyno
ssyno force-pushed the fix/spyros/release-tag-idempotent branch from daf820a to d0a1d7f Compare October 19, 2026 14:18

@superseb superseb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR only focuses on the technical issue with the new way of working with tags for this repository. But the most important part is the way of working, as it is expected for a cloud-admin to tag and push the tag before running this workflow, right?

The README.md contains how to release, it should be updated together with this so it is clear to everyone.

@ssyno
ssyno requested a review from superseb October 20, 2026 09:53
@ssyno

ssyno commented Oct 20, 2026

Copy link
Copy Markdown
Contributor Author

Fair point, added. README now has the full flow: branch locally, cloud-admin tags the commit and pushes the tag, then push the release branch. Also what happens if the branch goes first: run fails at the tag step, push the tag, re-run the failed job.

@ssyno
ssyno merged commit 058ca32 into main Oct 20, 2026
2 checks passed
@ssyno
ssyno deleted the fix/spyros/release-tag-idempotent branch October 20, 2026 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants