Repository navigation
ci(ci): require the Validate workflows, and name every workflow for its job - #158
Merged
Merged
Conversation
Contributor
You own some of the paths this pull request changes@justinmerrell, this pull request touches paths you are a code owner for. Your authorship waives the code-owner review requirement — GitHub cannot request a review from a pull request's author — so nobody is automatically notified about these changes:
Double-check they are intentional. If you want a second pair of eyes, request a review manually. (Automated notice from the repository-codeowners-notice workflow — ADR 0015.) |
…ts job ADR 0036 §5, step 3. The live main-branch ruleset now requires `Validate / Required` and `Validate Pull Request / Required`; this brings the repository in line with it. - main-branch.json requires the two aggregates, and RULESETS.md, CONTRIBUTING, tools/README.md and docs/publication.md name them and the jobs behind them - ci.yml and dco.yml are deleted: validate.yml and validate-pull-request.yml run every job they ran - lint-pr.yml, devcontainer.yml and codeowners-notice.yml become repository-pull-request-title.yml, validate-devcontainer.yml and repository-codeowners-notice.yml, each named for its file (GHA-02, GHA-05, GHA-07); check:commits and the lefthook glob follow the rename - release.yml's `release-please` job is `release_please` (GHA-10) - no step swallows a failure (GHA-41): the CODEOWNERS notice fails when the API call fails and tells `check-ignore`'s "no match" from an error, and release.yml counts releases and diffs assets without `|| true` `conventions check` now reports one warning, CONF-04 on .config/spelling/musher.txt, a false positive fixed in engineering-conventions#44 and not yet released. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Justin Merrell <merrelljustin@gmail.com>
justinmerrell
force-pushed
the
ci/require-validate-workflows
branch
from
September 29, 2026 20:40
e3fd6c3 to
16514a0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Step 3 of ADR 0036 §5, the 7c follow-up to #154.
The live
main-branchruleset already requiresValidate / RequiredandValidate Pull Request / Required(applied 2026-09-29), so this PR brings the repository in line with it. Nothing touches
specifications/<family>/,so no family release picks it up.
The ruleset file matches the live ruleset
.github/rulesets/main-branch.jsonrequires the two aggregates in place ofLint,Schema,Site BuildandSigned off. The live ruleset and this file now agree (the RULESETS.md drift check shows only the expecteddismissal_restriction).tools/README.md,docs/publication.mdand the tool comments name the new checks andthe jobs behind them. Accepted ADRs keep their historical wording (non-negotiable refactor: de-seed the schema $defs names, titles, and prose #11).
Legacy workflows go
ci.ymlanddco.ymlare deleted.validate.ymlandvalidate-pull-request.ymlrun every job they ran,and have done so beside them since chore(repo): adopt the engineering conventions (ADR 0036) #154.
Every workflow is named for its responsibility
lint-pr.ymlrepository-pull-request-title.ymldevcontainer.ymlvalidate-devcontainer.ymlcodeowners-notice.ymlrepository-codeowners-notice.ymlcheck:commitsreads the renamed title workflow, and the lefthookcommitsglob follows it.validate-devcontainer.yml's ownpaths:filter names its new filename.release.yml'srelease-pleasejob isrelease_please, and everyneedsfollows.No step swallows a failure (GHA-41)
gh apicall now fails the notifier, where it used to read as "nothing owned" and drop the notice;git check-ignore's exit 1 (no path matched) is still an answer, but anything higher fails;xargs || true.release.yml:jq -sover every page, notgrep -c . || true;diffitself as the comparison, so no failure has to be discarded.Findings left
conventions check(0.6.1) goes from 22 warnings to 1: CONF-04 on.config/spelling/musher.txt, a falsepositive fixed in engineering-conventions#44 and not yet released.
Test plan
task checkpasses locally, with the pinned mise andmise install --lockedconventions check: 1 warning, 0 errorsjqcount/index and the whitespace trim exercised by hand on empty, one and many inputsValidate / RequiredandValidate Pull Request / Required.github/CODEOWNERS-owned paths gets its notice from the renamedworkflow; the next release recovery (if any) exercises the new count
🤖 Generated with Claude Code