Skip to content

fix(ci): test parser parity and diagrams by behaviour, not version pins - #151

Merged
oto-macenauer-absa merged 1 commit into
masterfrom
fix/dependabot-ci-reliability
Nov 11, 2026
Merged

oto-macenauer-absa merged 1 commit into
masterfrom
fix/dependabot-ci-reliability

Conversation

@oto-macenauer-absa

Copy link
Copy Markdown
Collaborator

Summary

Fixes #150. Dependabot PRs were red for reasons unrelated to whether the knowledge base works. This replaces the version-pinning assertions with behavioural ones and stops the Mermaid suite from failing on browser deprecation noise.

  • Parser parity is tested by behaviour. tests/artifact-checks.spec.js no longer requires the root htmlparser2/postcss/mermaid versions to match actions/package.json. Instead it runs actions/lib/check.selftest.js (which pins every rule's findings) against whichever parsers the build resolves. In CI's E2E job that means the root tree, and the actions job still covers the actions/ tree. A root parser that parses differently fails; one that doesn't can land on its own.
  • Dependabot. mermaid leaves the root ignore list, because the Mermaid E2E tests hold the fixture bundle to rendering. A new /actions npm entry (minor/patch grouped) means the dependencies we ship to docs repos are bumped too.
  • Console noise. Chromium in Playwright 1.65 reports reframed's iframeWindow.addEventListener("unload", …) (web-fragments 0.8.2) as Permissions policy violation: unload is not allowed in this document. That exact message is now ignored. Uncaught page errors and every other console error still fail.
  • Windows. check.selftest.js normalises CRLF before parsing contract/RULES.md. A Windows checkout failed the catalogue check, and it matters now that the root suite runs the self-test.
  • Comments in scripts/check-artifact.js and scripts/setup-test-apps.mjs, and CLAUDE.md, no longer claim the two package files are pinned in step.

Verification

After merge

Rebasing #137, #110 and #149 should turn them green (#149 also needs #148 merged for its PR Requirements check).

🤖 Generated with Claude Code

Dependabot PRs failed CI for reasons unrelated to whether the knowledge
base works:

- artifact-checks.spec.js asserted that the root package.json pins
  htmlparser2, postcss and mermaid at exactly the versions actions/
  pins. Dependabot only watched /, so every parser bump was red by
  construction and actions/ was never bumped. The spec now runs the
  checker self-test against whichever parsers the build resolves: a
  root parser that parses differently still fails, one that does not
  can land on its own. mermaid leaves the Dependabot ignore list (the
  rendering tests hold the fixture bundle to working), and Dependabot
  now also watches /actions.
- The Mermaid suite failed on any console error. Chromium in
  Playwright 1.65 reports reframed's iframe `unload` listener as a
  permissions-policy violation; the diagram still renders. That one
  message is ignored; uncaught page errors and every other console
  error still fail.
- check.selftest.js normalises CRLF before parsing RULES.md, so it
  also passes on a Windows checkout now that the root suite runs it.

Fixes #150

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@oto-macenauer-absa oto-macenauer-absa left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@oto-macenauer-absa
oto-macenauer-absa merged commit 0953e57 into master Nov 11, 2026
9 checks passed
@oto-macenauer-absa
oto-macenauer-absa deleted the fix/dependabot-ci-reliability branch November 11, 2026 10:31
oto-macenauer-absa added a commit that referenced this pull request Nov 11, 2026
Replaces #110. Dependabot could no longer rebase or recreate it (it
carried a manual merge from master), so this re-applies the same bump on
current master.

Relates to #150: since #151 the root and \`actions/\` may resolve
different parser versions. The checker self-test in
\`tests/artifact-checks.spec.js\` runs against this root htmlparser2 12
and passes locally, along with \`private-registry\` and \`transform\`
(46/46).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.

CI: Dependabot PRs fail on version-pinning tests and browser console noise, not on regressions

1 participant