release: use rare opt-out token that prose won't match
the previous guard string kept matching because i literally mentioned it in my own commit messages when documenting the feature. switched to a form with an equals sign that will never appear in ordinary english.
- commit
- 8a13141ace5cae3abb2bfb96a74b0e96b68d0e77
- author
- patriceckhart · · 2026-04-18 09:23 UTC
- parent
- 4d847ec
- signature
- unsigned
- refs
- tag: v0.0.2
1 file · +5 -5
M .github/workflows/release.yml +5 -5
| @@ -9,10 +9,10 @@ name: release | |||
| 9 | 9 | # (amd64 + arm64) and attaches them plus checksums.txt to a fresh | |
| 10 | 10 | # GitHub Release page | |
| 11 | 11 | # | |
| 12 | - | # Skip a release by putting [skip-release] anywhere in the commit | |
| 13 | - | # message (note the hyphen) — useful for docs-only or ci-only | |
| 14 | - | # commits. We use [skip-release] rather than [skip release] so that | |
| 15 | - | # commits that merely *mention* the phrase don't accidentally opt out. | |
| 12 | + | # Skip a release by putting [release=skip] anywhere in the commit | |
| 13 | + | # message — useful for docs-only or ci-only commits. We use a rare | |
| 14 | + | # equals-sign form so commits that merely *mention* the feature | |
| 15 | + | # ("make the release step optional") don't accidentally opt out. | |
| 16 | 16 | on: | |
| 17 | 17 | workflow_run: | |
| 18 | 18 | workflows: [ci] | |
| @@ -33,7 +33,7 @@ jobs: | |||
| 33 | 33 | release: | |
| 34 | 34 | # Only run when ci succeeded and we're on main, and when the head | |
| 35 | 35 | # commit doesn't opt out via [skip-release]. | |
| 36 | - | if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main' && !contains(github.event.workflow_run.head_commit.message, '[skip-release]') }} | |
| 36 | + | if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main' && !contains(github.event.workflow_run.head_commit.message, '[release=skip]') }} | |
| 37 | 37 | runs-on: ubuntu-latest | |
| 38 | 38 | steps: | |
| 39 | 39 | - name: checkout | |
| @@ -9,10 +9,10 @@ name: release | |||||
| 9 | # (amd64 + arm64) and attaches them plus checksums.txt to a fresh | 9 | # (amd64 + arm64) and attaches them plus checksums.txt to a fresh | ||
| 10 | # GitHub Release page | 10 | # GitHub Release page | ||
| 11 | # | 11 | # | ||
| 12 | - | # Skip a release by putting [skip-release] anywhere in the commit | 12 | + | # Skip a release by putting [release=skip] anywhere in the commit |
| 13 | - | # message (note the hyphen) — useful for docs-only or ci-only | 13 | + | # message — useful for docs-only or ci-only commits. We use a rare |
| 14 | - | # commits. We use [skip-release] rather than [skip release] so that | 14 | + | # equals-sign form so commits that merely *mention* the feature |
| 15 | - | # commits that merely *mention* the phrase don't accidentally opt out. | 15 | + | # ("make the release step optional") don't accidentally opt out. |
| 16 | on: | 16 | on: | ||
| 17 | workflow_run: | 17 | workflow_run: | ||
| 18 | workflows: [ci] | 18 | workflows: [ci] | ||
| @@ -33,7 +33,7 @@ jobs: | |||||
| 33 | release: | 33 | release: | ||
| 34 | # Only run when ci succeeded and we're on main, and when the head | 34 | # Only run when ci succeeded and we're on main, and when the head | ||
| 35 | # commit doesn't opt out via [skip-release]. | 35 | # commit doesn't opt out via [skip-release]. | ||
| 36 | - | if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main' && !contains(github.event.workflow_run.head_commit.message, '[skip-release]') }} | 36 | + | if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main' && !contains(github.event.workflow_run.head_commit.message, '[release=skip]') }} |
| 37 | runs-on: ubuntu-latest | 37 | runs-on: ubuntu-latest | ||
| 38 | steps: | 38 | steps: | ||
| 39 | - name: checkout | 39 | - name: checkout | ||