Skip to content

chore: release 0.5.1 - #68

Merged
TzuH-Hsu merged 1 commit into
mainfrom
release-please--branches--main
Sep 16, 2026
Merged

TzuH-Hsu merged 1 commit into
mainfrom
release-please--branches--main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.5.1 (2026-09-16)

Bug Fixes

  • the labeler test no longer assumes area:ci exists in the repository's labels.yml (#67) (eafbfd6)

This PR was generated with Release Please. See documentation.

@TzuH-Hsu
TzuH-Hsu merged commit e6f1807 into main Sep 16, 2026
1 check passed
@TzuH-Hsu
TzuH-Hsu deleted the release-please--branches--main branch September 16, 2026 06:25
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

TzuH-Hsu added a commit that referenced this pull request Sep 16, 2026
…ion (#69)

## Summary

Six downstream PRs were opened with a bare `Closes #` and a
`chore/-slug` branch and nothing rejected them. `scripts/pr-lint.js`
(ADR-0008 shape, with tests) now checks: the head branch is
`<type>/<issue#>-<slug>` (types = the list in `AGENTS.md`'s Branch step,
which is now that list's one home — the test asserts equality); the body
links an issue in this repository with a GitHub closing keyword (colon
form, `owner/repo#N` and full-URL forms recognised; HTML comments
stripped first, so the untouched template line fails); the branch's
number is among the linked ones. release-please and Dependabot branches
are exempt. `ci.yml` runs it as a step-level-`if` `github-script` step
on `pull_request`, whose `types:` now also include `edited` and
`ready_for_review` (a superset of the defaults — header amended to
forbid anything less) so a fixed body turns the check green without a
push. `scripts/check-node-tests.sh` replaces `check-issue-labeler.sh`,
runs every `scripts/*.test.js`, and fails when any workflow `require`s a
`scripts/*.js` that is missing. The pr-authoring recipe no longer
submits the template verbatim.

## Related issue

Closes #56

## Validation

- [x] L0 static — `make verify` green (actionlint on the widened
`on.pull_request`, checks incl. 26 node tests)
- [x] L1 unit — `scripts/pr-lint.test.js`: 12 cases (the six-PR failure
shape, untouched template line, comment-hidden keyword, all keyword
forms incl. `Closes: #N` and URLs, cross-repo kept apart, Refs-only
guidance, branch grammar for every type and eight rejects, bot
exemption, run() fail/pass/skip)
- [x] L2 — run against **real PR payloads**: this repo's #57 pass, #62
(my own issue-less docs PR) fail, #68 release exempt, #11 Dependabot
exempt; downstream's discarded `chore/-initial-version-docs` PRs fail on
both counts, their redone `chore/61-…` / `chore/12-…` pass. Torn-upgrade
fixture (`ci.yml` thin caller, `pr-lint.js` absent) → `make check` FAIL
naming the file.
- [x] Pre-review — two adversarial lenses (security, repo rules) before
opening: 14 findings, all folded in, including the `edited`-event gap,
the colon form, the recipe that would have failed its own lint, and the
type list living in three disagreeing places.
- [x] L3 — this PR itself: its `ci` run executes the new step on its own
branch/body (`ci/56-pr-lint`, `Closes #56`).

## Risk / rollback

```text
RISK: PRs without a linked issue in this repository now fail ci, by design
(AGENTS.md rule 1). github-script hands the PR's own pr-lint.js the job's
read-only / contents:read token and the run-scoped runtime token — stated
in ci.yml's header; nothing this public repository does not already expose.
Rollback: revert; or delete the step to keep the script and tests.
```

## Checklist

- [x] Conventional Commit PR title
- [x] Linked issue using "Closes #N"
- [x] No secrets, no `*.local.md` files committed
- [x] Documentation updated where affected

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant