fix(ci): revert axum-kbve-e2e to ubuntu-latest runner#7718
Merged
Conversation
The Dockerfile was building Astro from scratch inside a node:24-slim container (Stage A), duplicating the work already done by container-prep. This took 150s+ in CI and got killed with SIGINT (exit 130), failing the axum-kbve-e2e test. Replace the node:24-slim astro-builder stage with a direct COPY of the pre-built output from container-prep (apps/kbve/axum-kbve/dist/). The container target already depends on container-prep, so the pre-built files are guaranteed to exist in the build context.
The Astro build inside Docker was requesting 8GB heap (--max-old-space-size=8192) with 4 threads, exceeding the ~7GB available on GitHub Actions runners inside buildkit. This caused the build to get killed with SIGINT (exit 130) while rendering itemdb pages. Reduce to 4096MB heap and 2 threads to stay within CI runner memory limits while keeping the Dockerfile self-contained.
- Add runner input to docker-test-app.yml (default: ubuntu-latest) - Route axum-kbve-e2e to arc-runner-set via matrix runner field - Add timeout-minutes: 60 to prevent CI hangs - Keep Dockerfile Astro memory at 4096MB as safety net
ARC runner pods lack ephemeral storage for Docker BuildKit — the build dies during base image layer extraction (exit 130) before reaching the Astro build. Keep ubuntu-latest which has proper Docker support. The Dockerfile memory reduction (4096MB) remains as the actual OOM fix. The runner input + timeout on docker-test-app.yml stays for future use.
The DinD sidecar now has a dedicated emptyDir at /var/lib/docker (added in values.yaml), so Docker BuildKit has proper disk access instead of using the container overlay layer.
ARC runners have 24Gi memory — no need to cap at 4096MB. Revert to original UV_THREADPOOL_SIZE=4 and --max-old-space-size=8192.
2 tasks
Contributor
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
axum-kbve-e2eback toubuntu-latestwhich has proper Docker/BuildKit supportRoot cause
The ARC runner's Docker-in-Docker setup can't store BuildKit layers. The build fails at
#12 extracting sha256:...(pullingnode:24-slim), not during the Astro build. This is a storage/infrastructure limitation, not a memory issue.What stays
docker-test-app.ymlrunner input + 60min timeout (available for future use)matrix.runner || 'ubuntu-latest'fallback inci-main.ymlTest plan
axum-kbve-e2ejob passes onubuntu-latestwith 4096MB Dockerfile🤖 Generated with Claude Code