3 Commits

Author SHA1 Message Date
lilleman a66514933f Update lockfile and regenerate icons.ejs for lucide-static 1.28.0
CI / full-gate (push) Failing after 13s
2026-08-02 14:34:45 +02:00
lilleman 621fa679d5 Merge remote-tracking branch 'origin/main' into renovate/lucide-monorepo 2026-08-02 14:32:36 +02:00
renovate-bot 0f23129435 fix(deps): update dependency lucide-static to v1.28.0
renovate/artifacts Artifact file update failure
CI / full-gate (push) Failing after 14s
Release-Bump: minor
2026-08-02 04:18:02 +00:00
5 changed files with 20 additions and 28 deletions
+3 -5
View File
@@ -89,10 +89,8 @@ them. Revisit only if the stated reason stops holding.
- **CI docker logins share the runner host's Docker config.** The act_runner is host-mode, so - **CI docker logins share the runner host's Docker config.** The act_runner is host-mode, so
`docker login`/`logout` in the workflows mutate one shared `~/.docker/config.json`: `docker login`/`logout` in the workflows mutate one shared `~/.docker/config.json`:
concurrent jobs can race (one job's logout can 401 another's push — recover by re-running), concurrent jobs can race (one job's logout can 401 another's push — recover by re-running),
and tokens sit in that file between login and logout. Same class: concurrent runs share the and tokens sit in that file between login and logout. Accepted for a single-maintainer
workspace dir, so ci.sh's web-image build races another run's container creation on the cadence; serialize with a workflow `concurrency` group if it ever bites.
`<project>-web` tag. Accepted for a single-maintainer cadence; serialize with a workflow
`concurrency` group if it ever bites.
## Docker only — no host tooling ## Docker only — no host tooling
@@ -154,7 +152,7 @@ Same test before adding a row to a table or the file map — a clause, not a par
without any comment at all is the preferred solution. without any comment at all is the preferred solution.
- Do not comment about history in the code or README. Like "This function included X before, - Do not comment about history in the code or README. Like "This function included X before,
but it moved to Y". but it moved to Y".
- Do not comment about the absence of things, if it is not very unexpected. Banned is things - Do not comment about the abscense of things, if it is not very undexpected. Banned is things
like "This function does not calculate pi, that is done in function Z". like "This function does not calculate pi, that is done in function Z".
- Pin all dependencies and Docker images to exact, human-readable **semantic - Pin all dependencies and Docker images to exact, human-readable **semantic
versions** — never ranges (`^`, `~`) and never digests/hashes. npm deps are kept versions** — never ranges (`^`, `~`) and never digests/hashes. npm deps are kept
-6
View File
@@ -40,12 +40,6 @@ pkg=$(grep -oE '"@playwright/test": "[0-9.]+"' e2e-tests/package.json | grep -oE
[ -n "$img" ] && [ "$img" = "$pkg" ] || { echo "Playwright pin mismatch/unreadable: image v$img vs @playwright/test $pkg"; exit 1; } [ -n "$img" ] && [ "$img" = "$pkg" ] || { echo "Playwright pin mismatch/unreadable: image v$img vs @playwright/test $pkg"; exit 1; }
echo "ok ($img)" echo "ok ($img)"
# Explicit rebuild: without it a stale web image from a previous branch supplies node_modules
# (the source is bind-mounted but deps are baked in), so a dep bump gets typechecked/tested
# against the OLD packages. Cheap when deps are unchanged (npm ci layer is cache-keyed).
step "Build web image"
docker compose build web
step "Typecheck" step "Typecheck"
docker compose run --rm --no-deps web npm run typecheck docker compose run --rm --no-deps web npm run typecheck
+1 -1
View File
@@ -1,6 +1,6 @@
# Playwright runner — browsers preinstalled, pinned to match @playwright/test in e2e-tests/. # Playwright runner — browsers preinstalled, pinned to match @playwright/test in e2e-tests/.
# Built/run via e2e-tests/compose.visual.yml; targets the `web` service over the network. # Built/run via e2e-tests/compose.visual.yml; targets the `web` service over the network.
FROM mcr.microsoft.com/playwright:v1.62.1-noble FROM mcr.microsoft.com/playwright:v1.49.1-noble
WORKDIR /e2e-tests WORKDIR /e2e-tests
+15 -15
View File
@@ -8,23 +8,23 @@
"name": "plainpages-e2e", "name": "plainpages-e2e",
"version": "0.1.0", "version": "0.1.0",
"devDependencies": { "devDependencies": {
"@playwright/test": "1.62.1" "@playwright/test": "1.49.1"
} }
}, },
"node_modules/@playwright/test": { "node_modules/@playwright/test": {
"version": "1.62.1", "version": "1.49.1",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.62.1.tgz", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz",
"integrity": "sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==", "integrity": "sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"playwright": "1.62.1" "playwright": "1.49.1"
}, },
"bin": { "bin": {
"playwright": "cli.js" "playwright": "cli.js"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=18"
} }
}, },
"node_modules/fsevents": { "node_modules/fsevents": {
@@ -43,35 +43,35 @@
} }
}, },
"node_modules/playwright": { "node_modules/playwright": {
"version": "1.62.1", "version": "1.49.1",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.1.tgz", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz",
"integrity": "sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==", "integrity": "sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"playwright-core": "1.62.1" "playwright-core": "1.49.1"
}, },
"bin": { "bin": {
"playwright": "cli.js" "playwright": "cli.js"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=18"
}, },
"optionalDependencies": { "optionalDependencies": {
"fsevents": "2.3.2" "fsevents": "2.3.2"
} }
}, },
"node_modules/playwright-core": { "node_modules/playwright-core": {
"version": "1.62.1", "version": "1.49.1",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz",
"integrity": "sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==", "integrity": "sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
"playwright-core": "cli.js" "playwright-core": "cli.js"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=18"
} }
} }
} }
+1 -1
View File
@@ -8,6 +8,6 @@
"test": "playwright test" "test": "playwright test"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "1.62.1" "@playwright/test": "1.49.1"
} }
} }