Skip to content

fix(ci): unblock docs-only PRs + remediate JS dep CVEs - #94

Merged
felixgeelhaar merged 2 commits into
mainfrom
fix/docs-pr-ci-deadlock
Jul 25, 2026
Merged

fix(ci): unblock docs-only PRs + remediate JS dep CVEs#94
felixgeelhaar merged 2 commits into
mainfrom
fix/docs-pr-ci-deadlock

Conversation

@felixgeelhaar

@felixgeelhaar felixgeelhaar commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Supersedes #93 — carries both fixes on one branch, because they were circularly blocked.

The deadlock

  1. Branch protection requires ci / Lint, ci / Test (ubuntu-latest), ci / Build, ci / Security (nox).
  2. ci.yml had paths-ignore: ["**.md", "docs/**", "LICENSE"] on the pull_request trigger — so a docs/-only PR skipped the workflow entirely, never reported the required checks, and sat at BLOCKED forever (only landable with --admin). That blocked fix(security): remediate known CVEs in JS deps #93.
  3. But once CI does run, ci / Security (nox) fails on main's 4 pre-existing high-severity JS CVEs — which is exactly what fix(security): remediate known CVEs in JS deps #93 fixes.

#94 couldn't go green without #93; #93 couldn't merge without #94. Hence one branch.

Commit 1 — fix(ci)

Drop paths-ignore from the pull_request trigger so the workflow always runs and reports its required contexts. The push-to-main trigger keeps its paths-ignore, so merging docs changes still skips CI. Running CI on a docs PR is cheap (no Go code changed → cache hits). Mirrors the identical fix already in warden and nox.

Commit 2 — fix(security) (cherry-picked from #93)

Remediate the 4 net-new high CVEs flagged by nox 1.16.1, forcing patched transitive versions via npm overrides in docs/package.json:

Package From → To Advisory
fast-uri 3.1.2 → 3.1.4 GHSA-4c8g-83qw-93j6 + GHSA-v2hh-gcrm-f6hx (host confusion)
postcss 8.5.16 → 8.5.18+ (resolved 8.5.23) GHSA-r28c-9q8g-f849 (path traversal)
svgo 4.0.1 → 4.0.2 GHSA-2p49-hgcm-8545 (removeScripts bypass)

Versions were OSV-cross-checked: nox's fixed_in reports the fix for a different affected range on multi-range advisories (fast-uri 4.0.1/2.4.3, svgo 2.8.3). The correct in-major fixes are the ones above — no cross-major downgrade.

Verification

  • nox scan . on this branch: 0 net-new critical/high (was 4).
  • Astro build passes; vitest 29/29 pass.
  • No baseline file touched — nothing suppressed, the CVEs are actually fixed.

Part of the fleet-wide nox 1.10 → 1.16.1 upgrade (klarlabs-studio/.github#41).

https://claude.ai/code/session_01Cr6YdzphmFF3NJqm7kSJom

Branch protection requires `ci / Lint`, `ci / Test (ubuntu-latest)`,
`ci / Build` and `ci / Security (nox)`, but the pull_request trigger had
paths-ignore for **.md, docs/** and LICENSE. A docs-only PR therefore
skipped the whole workflow, the required checks never reported, and the
PR was BLOCKED forever — mergeable only via an admin override (this is
what blocked #93).

Drop paths-ignore from the pull_request trigger so the workflow always
runs and reports its required contexts. Running CI on a docs PR is cheap
(no Go code changed, so the build/test caches hit). The push-to-main
trigger keeps its paths-ignore, so merges of docs changes still skip CI.

Mirrors the same fix already applied in warden and nox.

Claude-Session: https://claude.ai/code/session_01Cr6YdzphmFF3NJqm7kSJom
Force-patched transitive npm dependencies via package.json overrides
to eliminate net-new high-severity CVEs flagged by nox 1.16.1.

- fast-uri 3.1.2 -> 3.1.4 (GHSA-4c8g-83qw-93j6 / CVE-2026-13676, host
  confusion via failed IDN canonicalization; GHSA-v2hh-gcrm-f6hx /
  CVE-2026-16221, host confusion via literal backslash authority delimiter)
- postcss 8.5.16 -> 8.5.18+ (GHSA-r28c-9q8g-f849, path traversal in
  source map auto-loading)
- svgo 4.0.1 -> 4.0.2 (GHSA-2p49-hgcm-8545, removeScripts plugin leaves
  some executable scripts intact)

Verified: build (astro build) and tests (vitest, 29/29) pass; nox scan
reports 0 net-new critical/high findings.

Claude-Session: https://claude.ai/code/session_01Cr6YdzphmFF3NJqm7kSJom
@felixgeelhaar felixgeelhaar changed the title fix(ci): run CI on docs-only PRs so required checks can report fix(ci): unblock docs-only PRs + remediate JS dep CVEs Jul 25, 2026
@felixgeelhaar
felixgeelhaar merged commit 8f99d94 into main Jul 25, 2026
6 checks passed
@felixgeelhaar
felixgeelhaar deleted the fix/docs-pr-ci-deadlock branch July 25, 2026 17:43
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.

1 participant