Document and verify cross-architecture Docker support - #10
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR strengthens EPAR’s cross-architecture guidance and verification by expanding documentation around Docker/QEMU, clarifying experimental Tart behavior, and adding CI and tests to validate provider selection logic (notably enabling Tart init/start paths without requiring Docker).
Changes:
- Added detailed troubleshooting guidance for Docker “exec format error” / cross-architecture container execution and explicit QEMU setup recommendations.
- Clarified Tart as experimental across docs/config examples, including limitations vs GitHub-hosted runner images and Rosetta constraints.
- Updated init/start flows and tests so Tart can be selected without a Docker availability check; added a GitHub-hosted runner workflow to demonstrate cross-arch Linux container behavior.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| SUPPORT.md | Adds a support entrypoint with required diagnostics and links to troubleshooting/security guidance. |
| start.ps1 | Updates wrapper documentation to clarify Docker is only required for the containerized Go fallback. |
| start | Updates wrapper documentation to clarify Docker is only required for the containerized Go fallback. |
| README.md | Updates “What Happens” + provider table/docs links to reflect experimental Tart and adds Support link. |
| docs/usage.md | Updates first-run/init narrative to include Tart selection and Docker preflight scope details. |
| docs/troubleshooting.md | Adds cross-architecture container failure signatures, diagnosis steps, and pinned QEMU setup example. |
| docs/providers/wsl.md | Clarifies that x64 WSL cannot run ARM64 images without explicit emulation configuration. |
| docs/providers/tart.md | Marks Tart as experimental and documents Ubuntu-only guest support + runner-image/tooling limitations. |
| docs/image-build.md | Adds Tart experimental warning and guidance for building your own Tart image for hosted-runner parity. |
| docs/configuration.md | Documents Tart defaults/limitations and how to supply a custom Tart source image for richer environments. |
| configs/tart.example.yml | Adds top-level warning comments clarifying the default Tart source image is minimal. |
| cmd/ephemeral-action-runner/start_test.go | Adds test ensuring interactive start can select Tart without Docker checks. |
| cmd/ephemeral-action-runner/init.go | Adds Tart availability detection, Tart default config generation, and provider-specific Docker preflight behavior. |
| cmd/ephemeral-action-runner/init_test.go | Adds Tart init tests and Tart availability tests; updates provider prompt behavior coverage. |
| .github/workflows/hosted-runner-docker-architecture.yml | Adds a PR/workflow_dispatch proof workflow for hosted-runner Docker architecture behavior (with explicit QEMU). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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
docker/setup-qemu-actionremedyImpact
Documentation and CI coverage only. This does not enable emulation globally or change EPAR runner defaults. Workflows opt in to QEMU for the exact foreign architectures they need.
Validation
git diff --check