Skip to content

fix(release): make worthiness gate pipefail-safe - #260

Closed
levi770 wants to merge 1 commit into
mainfrom
fix/release-worthiness-gate
Closed

fix(release): make worthiness gate pipefail-safe#260
levi770 wants to merge 1 commit into
mainfrom
fix/release-worthiness-gate

Conversation

@levi770

@levi770 levi770 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • make both release-worthiness history scans consume their full input under set -o pipefail
  • keep the existing release subject grammar, with a fail-closed self-check that accepts type(scope)!: and rejects malformed type!(scope):
  • leave PR chore: release v0.12.0 #197 and CHANGELOG.md untouched so release-plz remains the changelog owner

Root cause

The review on #197 reproduced git log | grep -q returning pipeline status 141 after grep exits on the first match and git log receives SIGPIPE. The workflow interpreted that matched history as a no-match and stopped refreshing the rolling release PR.

Review reference: #197 (review)

Verification

Before the change, on xlog-cli-v0.11.0..HEAD:

  • release subject scan: status 141
  • BREAKING CHANGE: scan: status 141

After the change:

  • release subject scan: status 0
  • BREAKING CHANGE: scan: status 0
  • chore-only no-match fixture: status 1
  • feat(runtime)!: fixture: status 0
  • malformed feat!(runtime): fixture: status 1
  • actionlint 1.7.7: clean
  • git diff --check: clean

Related to #197; this PR does not close or modify it.

@levi770
levi770 force-pushed the fix/release-worthiness-gate branch from 921a0cb to 8bef408 Compare August 16, 2026 20:45
@levi770

levi770 commented Aug 16, 2026

Copy link
Copy Markdown
Contributor Author

The refreshed release-changelog child is now #265, based directly on this PR's current head cef6aebb3d87437b478e0f789d0b2e5c5d223a3b. Its independently replayed generator converges twice byte-for-byte, and its current-head CI is 10/10 green after adding the PyYAML dependency required by the newly gated docs contract. #265 remains unmerged and does not tag, publish, or close the stale rolling release PR.

@levi770

levi770 commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Closing this PR because it was opened outside the user-authorized seven-PR scope (#245 and #253-#258). The branch is intentionally retained. If any change here is genuinely required to resolve a review finding, it will be independently verified and folded directly into the relevant original PR rather than published as another PR.

@levi770 levi770 closed this Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant