53842b0f21
The Forgejo Actions cache server at 172.18.0.27:41161 isn't reachable from the test-web runner container; setup-node sat there waiting for ETIMEDOUT each run. Drop `cache: 'npm'` so the step finishes in seconds. `npm ci` still works deterministically from package-lock.json — net cost is ~10-30s of registry fetch vs. 4m41s of timeout. Restore the cache option once the runner-host network reaches the cache server (separate operator task).