Skip to content

🏗️🔧:make verify.all report failures - #1774

Merged
OpenINFbot merged 10 commits into
livefrom
build/fix-verify-all
Aug 7, 2026
Merged

🏗️🔧:make verify.all report failures#1774
OpenINFbot merged 10 commits into
livefrom
build/fix-verify-all

Conversation

@DerekNonGeneric

Copy link
Copy Markdown
Member

🏗️🔧 Three small corrections left over from #1773, plus one that has
been hiding the others.

.nvmrc was left behind. #1773 moved engines.node to 24.19.0 but
.nvmrc still says lts/jod, so anyone using nvm gets Node 22 while the
project requires 24. CI reads the version from package.json, which is
why nothing caught it.

The biome vendor exclusion reports itself. biome migrate produced a
pattern 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 the
folder; this is the one that does not fail biome's own check.

verify.all has never reported a failure. A shell for loop exits
with the status of its last command, so it returned 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 been reporting on one task.
format.all has 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. A
    question about the browserslist query, not a mechanical fix.
  • verify.md — prettier on four files, plus MD013 line length in
    collections/_docs/security.md. Note that file is generated by
    siteify-health-files from OpenINF/.github, so the durable fix is
    upstream.
  • verify.htmlValidForVNU — the inlined hamburger SVGs in
    _includes/assets/img/sublime-theme/ carry <?xml ...?> prologues and
    a 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 vendored
    assets/js/vendor/count.js, which wants excluding the same way biome
    excludes it.

Happy to split any of those out, or to hold this commit until they are
fixed if a red main is not acceptable — the first two commits here are
green on their own.

DerekNonGeneric and others added 3 commits August 7, 2026 03:10
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>
@netlify

netlify Bot commented Aug 7, 2026

Copy link
Copy Markdown

Deploy Preview for gh-pages-openinf ready!

Name Link
🔨 Latest commit 6576e0a
🔍 Latest deploy log https://app.netlify.com/projects/gh-pages-openinf/deploys/6a7565a4aed6970008af5048
😎 Deploy Preview https://deploy-preview-1774--gh-pages-openinf.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

DerekNonGeneric and others added 5 commits August 7, 2026 03:59
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>
Comment thread package-scripts.yml Outdated
Signed-off-by: OpenINF-bot <openinfbot@open.inf.is>
Comment thread .browserslistrc Outdated
Signed-off-by: OpenINF-bot <openinfbot@open.inf.is>
@OpenINFbot
OpenINFbot merged commit 57285cb into live Aug 7, 2026
13 checks passed
@OpenINFbot
OpenINFbot deleted the build/fix-verify-all branch August 7, 2026 05:07
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.

2 participants