From 2435c381b74cd569610340e2daf88b8f639e60db Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Tue, 9 Jun 2026 08:53:29 +0300 Subject: [PATCH] ci: tighten action-smoke assertion to exact no-bump values `test -n` (non-empty) passed on any string, including a CLI status leaking past action.yml's normalization (`no_merge_commit`, `no_conforming_commit`, etc.). Tighten to exact equality: status="no-bump", bump="none", tag empty. Failures now surface regressions instead of being papered over by any-non-empty. --- .github/workflows/ci.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb9209a..e6a1e2f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,13 @@ jobs: uses: ./ env: SEMVERTAG_BRANCH_PREFIX__MINOR: '["feat/"]' - - name: Verify outputs were emitted + - name: Verify outputs match the no-bump contract + # The CLI queries the GitHub API for the latest commit on the default + # branch (not the local PR checkout), so on every PR it lands in one + # of branch-prefix's no-bump statuses (`already_tagged`, + # `no_merge_commit`, `no_conforming_commit`) — all normalized to + # `no-bump` by action.yml. `tag` is intentionally NOT asserted: + # `already_tagged` populates it with the existing tag. run: | - test -n "${{ steps.semvertag.outputs.status }}" - test -n "${{ steps.semvertag.outputs.bump }}" + test "${{ steps.semvertag.outputs.status }}" = "no-bump" + test "${{ steps.semvertag.outputs.bump }}" = "none"