From b5e59321e01eb6852017ea1d3021952c46a68a05 Mon Sep 17 00:00:00 2001 From: Alon Girmonsky <1990761+alongir@users.noreply.github.com> Date: Wed, 20 May 2026 00:04:42 -0700 Subject: [PATCH] Remove auto-tag workflow; make release-tag idempotent (#1938) Co-authored-by: Alon Girmonsky --- .github/workflows/release-tag.yml | 24 ------------------------ Makefile | 12 ++++++++---- 2 files changed, 8 insertions(+), 28 deletions(-) delete mode 100644 .github/workflows/release-tag.yml diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml deleted file mode 100644 index dd4fd195a..000000000 --- a/.github/workflows/release-tag.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Auto-tag release - -on: - pull_request: - types: [closed] - branches: [master] - -jobs: - tag: - if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'release/v') - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/checkout@v5 - with: - fetch-depth: 0 - - - name: Create and push tag - run: | - VERSION="${GITHUB_HEAD_REF#release/}" - echo "Creating tag $VERSION on master" - git tag "$VERSION" - git push origin "$VERSION" diff --git a/Makefile b/Makefile index 427b2bff6..1b0df6c28 100644 --- a/Makefile +++ b/Makefile @@ -268,8 +268,8 @@ release: ## Print release workflow instructions. @echo "" @echo " Shortcut: make release-pr VERSION=x.y.z runs 1 → 2 → 3." @echo "" - @echo " After both PRs merge: tag is created automatically," - @echo " or run: make release-tag VERSION=x.y.z" + @echo " After both PRs merge, create the release tag:" + @echo " make release-tag VERSION=x.y.z" # Internal: validate VERSION before any release-* target runs. _release-check-version: @@ -362,14 +362,18 @@ release-pr: release-siblings release-pr-kubeshark release-pr-helm ## Run release @echo " - kubeshark.github.io: Review and merge the helm chart PR." @echo "Tag will be created automatically, or run: make release-tag VERSION=$(VERSION)" -release-tag: ## Step 2 (fallback): Tag master after release PR is merged. +release-tag: _release-check-version ## Step 2: Tag master after release PR is merged. Idempotent; re-run to retrigger the release build. @echo "Verifying release PR was merged..." @if ! gh pr list --state merged --head release/v$(VERSION) --json number --jq '.[0].number' | grep -q .; then \ echo "Error: No merged PR found for release/v$(VERSION). Merge the PR first."; \ exit 1; \ fi @git checkout master && git pull - @git tag -d v$(VERSION) 2>/dev/null; git tag v$(VERSION) && git push origin --tags + @if git ls-remote --tags origin "refs/tags/v$(VERSION)" | grep -q .; then \ + echo "Tag v$(VERSION) already exists on origin — deleting to retrigger release..."; \ + git push origin :refs/tags/v$(VERSION); \ + fi + @git tag -d v$(VERSION) 2>/dev/null; git tag v$(VERSION) && git push origin "refs/tags/v$(VERSION)" @echo "" @echo "Tagged v$(VERSION) on master. GitHub Actions will build the release."