fix(ci): rewrite dev-enforcement — it had never run a single job - #786
Open
gHashTag wants to merge 2 commits into
Open
fix(ci): rewrite dev-enforcement — it had never run a single job#786gHashTag wants to merge 2 commits into
gHashTag wants to merge 2 commits into
Conversation
Same five faults as the trinity-fpga copy: the YAML did not parse
('steps:' indented inside 'if:', then 'run:' inside 'if:', so GitHub
compiled zero jobs and titled the run by its file path); no job had a
checkout, so 'git log' ran outside a repository; $COMMIT was never
assigned, so the issue test could only print 'Missing issue ID'; the
regex required a literal '[' at the start of the subject; and
session-check gated CI on local dev-session state that CI cannot see.
Reporting, not blocking, and that differs from the trinity-fpga copy on
purpose. Measured on the last 60 non-merge commits of each main:
trinity-fpga 3 / 60 ( 5%) would fail
trinity 25 / 60 (42%) would fail
This repository's practice is largely prose subjects, many in Russian,
while CLAUDE.md documents <type>(<scope>): <description>. That gap is a
policy question, not something to settle by switching a gate to
blocking: a check failing 42% of the work is a check people route
around. It reports counts and leaves the decision to a reader who can
also change the rule.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…n PRs
fetch-depth: ${{ github.event_name == 'pull_request' && 0 || 1 }}
evaluates to 1 on a pull request, not 0: 'true && 0' is '0', '0' is
falsy, so '|| 1' wins. The clone was shallow and the job died with
fatal: Invalid revision range 1bbe926..59c991c
which reads as a bad SHA rather than as a missing object. Caught on this
PR's own first run. The idiom is only safe when the middle operand is
truthy.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
.github/workflows/dev-enforcement.ymlhas been red on every push to main, andthe red X carries the file path instead of the workflow's
name:— which isGitHub's way of saying the YAML did not compile. Zero jobs, ever.
Five faults, each of which looked like the one below it:
pr-status,steps:is indented insideif:,and below it
run:insideif:.actions/checkoutin any job —git log -1ran outside a repository,and
.trinity/dev_session.jsonwas never on disk.$COMMITis never assigned, so the issue-ID test read an empty stringand could only ever print "Missing issue ID" — for correct commits too.
^\[a-f]+\(...requires a literal[at thestart of the subject. Its result was piped to
head -1and discarded anyway.session-checkgates CI on local working state. CI cannot observe a devsession; on main it asserts whatever state happened to be committed.
Fixing only the indentation would have turned "never ran" into "fails every
push", which is worse.
Reporting, not blocking — deliberately different from trinity-fpga
Measured on the last 60 non-merge commits of each
main:This repository's practice is largely prose subjects, many in Russian
(
Локализовать ветвь дерева технологий (#785)), whileCLAUDE.mddocuments<type>(<scope>): <description>.That gap is a policy question, and not one a gate should settle by fiat: a check
that fails 42% of the work is a check people route around. So it reports counts
and warnings, and the decision to tighten it — or to change the documented rule
— stays with you. The trinity-fpga copy blocks on PRs because 5% is a different
situation.
🤖 Generated with Claude Code