fix(ci): unblock validate workflow - #615
Conversation
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
WalkthroughThe pull request updates dependency tooling and security overrides, separates dependency auditing from catalog validation, expands workflow triggers for dependency changes, and removes ChangesDependency validation
Hardware schema
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
9d3ed12 to
1700014
Compare
pnpm audit ran as the first step of the validate job, so five high advisories in dev-only transitive deps skipped every data check behind it. The Validate check has been red on every PR since 2026-07-21 regardless of content. Move the audit into its own job so an upstream advisory can never mask data validation again, and trigger on dependency manifests so renovate PRs get a run at all. The advisories were a stale lockfile, not an unpatched range. Every vulnerable package floats to a patched version on a clean resolve, so no new overrides. @changesets/cli 3.0.0 moves to the ESM @manypkg/get-packages 3.x, dropping read-yaml-file and js-yaml from the tree entirely, so both of those overrides retire. Regenerate schema/json/hardware.json, stale since #595 dropped bluetooth/wifi from the io vocabulary. That check never ran while the audit was failing. Refs AUREO-781 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1700014 to
7ff6650
Compare
Problem
pnpm audit --audit-level=highran as the first step of the singlevalidatejob, so five high advisories in dev-only transitive deps skippedevery data check behind it. The Validate check has been red on every open PR
since 2026-07-21 regardless of content, and each failing run lasted ~20s
because it never got past step 5 of 14.
Root cause
Not an unpatched range. The lockfile had not been re-resolved since
2026-07-17, and every vulnerable package was floatable within its existing
semver range, so
pnpm install --frozen-lockfilefaithfully reinstalledstale, now-vulnerable resolutions:
Worth noting for next time:
pnpm update --depth Infinityis not enough.It floats js-yaml but leaves peer-suffixed
vitepinned. Deletingpnpm-lock.yamlalone is also not enough, because pnpm reuses what is alreadyin
node_modules. A genuine re-resolve needs both removed.Changes
Split the audit into its own job. An advisory is published upstream with
no change to this repo, so an audit sequenced ahead of data validation makes
every catalog PR red for reasons unrelated to the catalog. As a separate job
it still blocks dependency hygiene, but it can never again mask whether the
data is valid. The trigger paths now include the dependency manifests too:
renovate PRs previously matched none of
data/**,schema/**,scripts/**and so got no Validate run at all.
Retired the js-yaml and read-yaml-file overrides.
@changesets/cli3.0.0moved to the ESM
@manypkg/get-packages3.x (@manypkg/tools+@manypkg/find-root), which dropsread-yaml-fileentirely. Both packagesare now absent from the tree, which is exactly the unlock the override comment
in
pnpm-workspace.yamlpredicted.No new overrides. postcss and nanoid clear themselves once the lockfile is
genuinely re-resolved, so the fix is the float, not a pin. The two remaining
overrides (
vite,esbuild) are pre-existing and untouched.Regenerated
schema/json/hardware.json. Stale since #595 removedbluetooth/wififromschema/io-types.yamlwithout regenerating. This wasa second latent failure the audit had been masking: the "Check JSON schemas
are up to date" step would have failed even after the dependency fix. No data
entry uses either io type.
Verification
Run against a pristine clone of this branch, matching CI:
pnpm install --frozen-lockfile— passpnpm audit --audit-level=high— no known vulnerabilities, exit 0pnpm build 0— pass (12,493 products)pnpm changeset status --since=HEAD, the release-tooling load-path oraclethat guards the changesets upgrade — exit 0
pnpm why nanoid— 3.3.18 under postcss, 5.1.16 as the direct devDependencyNote
@changesets/cli3.0.0 published 2026-08-11, so pnpm recorded aminimumReleaseAgeExcludeentry for the 14@changesets/*packages and itlands ahead of renovate's
stabilityDays: 3. The oracle above is the guardthat made this safe to take early.
No changeset: no
data/*.yamlchanges, so the Changeset workflow's data checkis skipped by design.
Refs AUREO-781