From 9f0dd6205a86565c808bc16380509bd7f78fc73b Mon Sep 17 00:00:00 2001 From: Victor Hugo Vargas Date: Thu, 30 Jul 2026 22:45:40 -0700 Subject: [PATCH] ci(release): honor [skip-release] marker in tag annotation Tags annotated with [skip-release] in their message are created without a GitHub Release. Useful for state-marker tags that should not be announced as a release. Example: git tag -a v0.1.0-alpha -m 'Release v0.1.0-alpha [skip-release]' --- .github/workflows/release.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f73ae00..7d365db 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,20 @@ jobs: fi echo "VERSION=$file_version OK" + - name: Check skip-release marker + id: skip + run: | + msg=$(git for-each-ref "refs/tags/${GITHUB_REF_NAME}" --format='%(contents:subject)') + if echo "$msg" | grep -q '\[skip-release\]'; then + echo "skip=true (tag message contains [skip-release])" + echo "skip=true" >> "$GITHUB_OUTPUT" + else + echo "skip=false" + echo "skip=false" >> "$GITHUB_OUTPUT" + fi + - name: Create GitHub release + if: steps.skip.outputs.skip != 'true' uses: softprops/action-gh-release@v2 with: tag_name: ${{ github.ref_name }}