deps: unblock CI (dependency advisories, Playwright image) #167
Loading…
Reference in a new issue
No description provided.
Delete branch "deps/unblock-ci-2026-11"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why the Renovate PRs were deadlocked
All three gating jobs are red on
mainitself (last push run 8586, and every PR run since), for three independent reasons. A Renovate PR changes one package, so it can never turn all three green, and nothing merges:npm run audit:cifails on HIGH/CRITICAL advisories in existing deps: tinypool (2x critical, prototype pollution to RCE), undici, js-yaml (GHSA-2883-xcg3-v3hh), source-map-js, brace-expansion, vite (launch-editor).pip-audit -r requirements.txtfound 52 advisories in authlib 1.7.2, certifi 2026.7.22, joserfc 1.7.4 and pillow 12.3.0. Once those were fixed,requirements-dev.txtalso showed urllib3 2.7.0, msgpack 1.2.1 and filelock 3.32.2.e2e/package-lock.jsonis on@playwright/test1.62.1, but the CI container (ande2e/Dockerfile) still pinmcr.microsoft.com/playwright:v1.56.1-noble. 12 of 13 journeys fail withbrowserType.launch: Executable doesn't exist ... chromium_headless_shell-1234. Renovate bumps the npm package but not the image pin, so this breaks again on every Playwright update.Changes
Frontend (
frontend/package-lock.json,package.json)npm audit fix, lockfile only, within existing ranges: undici 8.9.0 → 8.12.3, vite 7.3.6 → 7.3.7, source-map-js 1.2.1 → 1.2.2, js-yaml 4.3.0 → 4.3.2, @redocly/openapi-core 1.34.18 → 1.34.23 (brace-expansion 2.1.4 → 2.1.7 under it).--forcesuggestion was vitest 5.1.0. It also removes glob/test-exclude and fixes the @vitest/mocker moderates. vite.config.ts and the test files needed no changes: all 250 tests pass.npm installon the stock npm 10.9 crashed withCannot read properties of null (reading 'edgesOut'), so the vitest change was made withnpx npm@11.6.2. The lockfile was then checked with the stock npm 10.9.9 (rm -rf node_modules && npm ci).Allowlist (
frontend/audit-allowlist.json)Backend (
backend/requirements*.txt, viapip-compile -P <pkg>for the flagged packages only)pillow>=11.0already admits 13. filelock is only pulled in by pip-audit → cachecontrol and is not in the deployed set. Renovate marks authlib and pillow security-sensitive, so these deserve a human look.e2e / CI
@playwright/test1.62.1 → 1.64.1 (Renovate #164), andmcr.microsoft.com/playwrightv1.56.1-noble → v1.64.1-noble in both.forgejo/workflows/ci.ymlande2e/Dockerfile. I checked that the tag exists on MCR.CHANGELOG
Verified locally (claude-dev, outside containers)
npm ci, thennpm run audit:ci→ gate passed (1 advisory, none blocking: moderate minimatch via @redocly).npm run types:check→ types match.npx tsc --noEmit→ OK.npm test→ 250/250 passed on vitest 4.1.12.npm run build→ OK.ruff check .→ passed.pip-audit -r requirements.txtand-r requirements-dev.txt→ No known vulnerabilities found for both.pip check→ OK.alembic upgrade head/downgrade base(python -I) → OK. I also checked that a cp311 manylinux wheel exists for pillow 13.0.0. The full pytest suite (~1558 tests) was still running when this PR was opened: local disk I/O made it very slow. CI's backend job runs it.npm ciin e2e → 0 vulnerabilities. The suite ran with Playwright 1.64.1's chromium-headless-shell, against this branch's backend (pillow 13 etc.) and frontend → 13/13 passed. The Playwright container image itself was not run locally, because there is no Docker on this host.Not included / unresolved
@redocly/openapi-core1.x (openapi-typescript 7.13.0 is the latest). It is dev-only and parses only our own committed schema. The only fix npm offers is a breaking--force.customManagersregex so themcr.microsoft.com/playwright:vX-noblepins in ci.yml and e2e/Dockerfile move in the same PR as@playwright/test. Otherwise the e2e job breaks again on the next Playwright bump.Merging this deploys nothing: images are published only on
v*tags.🤖 Generated with Claude Code