Files
Hermes Agent 87139e8b74
Build and Push Docker Images / build-backend (pull_request) Successful in 1m49s
Build and Push Docker Images / build-frontend (pull_request) Successful in 1m51s
Build and Push Docker Images / test-frontend (pull_request) Successful in 2m9s
Build and Push Docker Images / test-backend (pull_request) Successful in 2m25s
Build and Push Docker Images / e2e-frontend (pull_request) Successful in 3m45s
ci(e2e): bump Playwright image to match @playwright/test 1.64.0
The e2e job runs in mcr.microsoft.com/playwright:v1.63.0-noble while
@playwright/test is 1.64.0 (#299). The image bakes only the browser
builds for its own version, so every test dies at browserType.launch:
'Executable doesn't exist at /ms-playwright/chromium_headless_shell-1248'.
Deterministic, not a flake: since #299 merged (Oct 9) every master-based
e2e-frontend run has failed all tests, and the red gate has jammed
green-gated automerge for the PRs behind it.

Verified locally (CI=1, 2 workers): functional 69/69 green; visual
29/30 with 'stations loading skeleton light' flaky (passed on retry —
pre-existing timing fragility, unrelated to the image).

Also group @playwright/test with the mcr.microsoft.com/playwright image
in renovate.json so the pair bumps in one PR — the drift was Renovate
bumping the package (#299) while the companion image PR never arrived.
2026-10-13 20:19:08 +11:00

42 lines
1.7 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
":maintainLockFilesWeekly",
":automergeMinor"
],
"minimumReleaseAge": "1 day",
"rebaseWhen": "behind-base-branch",
"packageRules": [
{
"description": "Major updates are never automerged — changelogs must be read before merging.",
"matchUpdateTypes": ["major"],
"automerge": false
},
{
"description": "upload-artifact is pinned to the last v3 (old artifact API): v4+ aborts on Gitea with GHESNotSupportedError (issue #209). Never bump.",
"matchPackageNames": ["actions/upload-artifact", "gitea.com/actions/upload-artifact"],
"allowedVersions": "<=3.2.2",
"enabled": false
},
{
"description": "TypeScript is 7.x (Go-native `tsc`) via the @typescript/native alias; openapi-ts 0.99 needs the 6.x JS compiler API, which stays installed under the `typescript` name as an npm alias to @typescript/typescript6. Never let the alias float to 7; bump the compiler via @typescript/native only.",
"matchPackageNames": ["typescript", "@typescript/typescript6"],
"allowedVersions": "<7"
},
{
"description": "The TS7 compiler is aliased as @typescript/native — track 7.x majors/minors normally.",
"matchPackageNames": ["@typescript/native"],
"allowedVersions": ">=7"
},
{
"description": "The Playwright image bakes the browser builds the @playwright/test package launches — when they drift, every e2e test dies at browserType.launch. Bump package and container together.",
"matchPackageNames": ["@playwright/test", "mcr.microsoft.com/playwright"],
"groupName": "playwright (package + CI image)"
}
]
}