🏗️🔧:make verify.all report failures - #1774
Merged
Merged
Conversation
The major dependency bump moved `engines.node` to 24.19.0 but left .nvmrc on lts/jod, so anyone using nvm got Node 22 while the project required 24. CI reads the version from package.json and was unaffected, which is why nothing caught it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Biome only needed `/**` on a folder exclusion before 2.2.0, and flags the form it no longer needs as lint/suspicious/useBiomeIgnoreFolder -- so the config was failing biome's own check. Both spellings exclude the folder; this is the one that does not report itself. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A shell `for` loop exits with the status of its last command, so
`verify.all` reported success whenever verify-yaml.mts passed -- last in
the directory alphabetically -- no matter how many of the twelve tasks
before it had failed. `nps test` is the CI gate, so the whole verify
suite has effectively been reporting on one task.
Both loops now remember a failure and exit non-zero at the end. Every
task still runs, so one failure does not hide the ones after it, which is
what `|| exit $?` would have done.
This makes several pre-existing failures visible for the first time.
They are real and none are caused by this change:
- verify.browserslist: coverage below 80% in several regions
- verify.md: prettier on four files, plus MD013 line length in
collections/_docs/security.md
- verify.htmlValidForVNU: the inlined hamburger SVGs carry
`<?xml ...?>` prologues and a doctype, which are not valid inside
HTML -- the validator reports `Saw "<?"` and a stray doctype
- verify.validForEC: tabs and a missing final newline in the vendored
assets/js/vendor/count.js
Each wants its own fix; several are judgement calls rather than
mechanical, so none are bundled here.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
✅ Deploy Preview for gh-pages-openinf ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
goatcounter's count.js is vendored verbatim and uses tabs with no final newline, which accounted for 36 of the 38 editorconfig errors. Reindenting third-party code means rewriting it on every update, so it is excluded instead -- the same treatment biome already gives it. The pattern covers both the source under _assets/ and the copy the build writes to assets/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Both files are pulled into header.liquid with `{% include %}`, so their
`<?xml ...?>` declaration and SVG doctype were being emitted in the middle
of the HTML body. Neither is valid there, and the validator reported
`Saw "<?"` and a stray doctype against every page.
Neither is needed: SVG inlined in HTML is parsed as HTML, and these files
are only ever included, never served on their own.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, SUPPORT and VISION are pulled from OpenINF/.github by compile.siteifyHealthFiles and written into the collections directories. Linting them reports problems that cannot be fixed here: any correction is overwritten the next time the task runs, and the real source lives in the other repository. Between them they accounted for the MD013 line-length errors, two of the four prettier failures, and both remaining editorconfig failures. Four separate places need telling, because the markdown tasks build an explicit file list that bypasses the ignore files, and markdownlint-cli2 takes its globs from its own config rather than the command line. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The only prettier failures left once the generated files stopped being checked. Both are hand-written, so the fix sticks. Line wrapping only -- no wording changes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`defaults` is `> 0.5%, last 2 versions, Firefox ESR, not dead`, which leaves coverage below 80% in ten countries of over ten million people -- as low as 53% in Uzbekistan, 61% in Venezuela and 63% in China. That is what browserslist-lint's countryWasIgnored rule has been reporting, and the last failure the verify suite had left. Dropping the share threshold from 0.5% to 0.1% brings every one of those countries above 80%; the lowest is then Poland at 84%. The rest of the query is unchanged, so this is `defaults` with a wider net rather than a different policy. Measured with browserslist.coverage against the same country list the rule uses: 0.2% still left two countries short, 0.1% leaves none. The output does not change. Targets go from 31 browsers to 75, but main.css comes out byte-identical -- nothing Bootstrap emits needs prefixing for the browsers this adds, and autoprefixer is the only consumer, since the JavaScript is copied rather than compiled. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
OpenINFbot
reviewed
Aug 7, 2026
Signed-off-by: OpenINF-bot <openinfbot@open.inf.is>
OpenINFbot
reviewed
Aug 7, 2026
Signed-off-by: OpenINF-bot <openinfbot@open.inf.is>
OpenINFbot
approved these changes
Aug 7, 2026
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.
🏗️🔧 Three small corrections left over from #1773, plus one that has
been hiding the others.
.nvmrcwas left behind. #1773 movedengines.nodeto 24.19.0 but.nvmrcstill sayslts/jod, so anyone using nvm gets Node 22 while theproject requires 24. CI reads the version from
package.json, which iswhy nothing caught it.
The biome vendor exclusion reports itself.
biome migrateproduced apattern that v2 does not match, so it was corrected to
!**/assets/js/vendor/**— but biome only needs the trailing/**before 2.2.0, and flags the form it no longer needs as
lint/suspicious/useBiomeIgnoreFolder. Both spellings exclude thefolder; this is the one that does not fail biome's own check.
verify.allhas never reported a failure. A shellforloop exitswith the status of its last command, so it returned success whenever
verify-yaml.mtspassed — last in the directory alphabetically — nomatter how many of the twelve tasks before it had failed.
nps testisthe CI gate, so the whole verify suite has been reporting on one task.
format.allhas the same defect and is fixed the same way.Both loops now remember a failure and exit non-zero at the end. Every
task still runs, so one failure does not hide the ones after it, which is
what
|| exit $?would have done.This will turn CI red, and that is the point
Fixing the gate makes several pre-existing failures visible. They are
real, none are caused by this PR, and each wants its own fix:
verify.browserslist— coverage below 80% in several regions. Aquestion about the browserslist query, not a mechanical fix.
verify.md— prettier on four files, plus MD013 line length incollections/_docs/security.md. Note that file is generated bysiteify-health-filesfromOpenINF/.github, so the durable fix isupstream.
verify.htmlValidForVNU— the inlined hamburger SVGs in_includes/assets/img/sublime-theme/carry<?xml ...?>prologues anda doctype, which are not valid inside HTML. The validator reports
Saw "<?"and a stray doctype against_site/index.html.verify.validForEC— tabs and a missing final newline in the vendoredassets/js/vendor/count.js, which wants excluding the same way biomeexcludes it.
Happy to split any of those out, or to hold this commit until they are
fixed if a red
mainis not acceptable — the first two commits here aregreen on their own.