Skip to content

Document and verify cross-architecture Docker support - #10

Merged
joecklau merged 3 commits into
developfrom
feature/amd64_arm64
Jul 21, 2026
Merged

Document and verify cross-architecture Docker support#10
joecklau merged 3 commits into
developfrom
feature/amd64_arm64

Conversation

@joecklau

Copy link
Copy Markdown
Contributor

Summary

  • document foreign-architecture Docker failure signatures, diagnosis, and the pinned docker/setup-qemu-action remedy
  • mark Tart container compatibility as experimental and clarify WSL architecture behavior
  • add root support guidance linked from the README
  • add a pull-request proof across GitHub-hosted Linux, Windows, and macOS labels, including native x64-to-ARM64 and ARM64-to-x64 Linux execution

Impact

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
  • parsed the workflow as YAML and checked the expected runner matrix
  • local containerized Actionlint and Go tests could not run because the execution policy blocks mounting this private repository into toolchain containers
  • GitHub-hosted PR checks are the authoritative workflow and repository validation gate

@joecklau
joecklau marked this pull request as ready for review July 21, 2026 07:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread cmd/ephemeral-action-runner/init_test.go
Comment thread .github/workflows/hosted-runner-docker-architecture.yml
@joecklau
joecklau removed the request for review from solutionforestteam July 21, 2026 08:25
@joecklau
joecklau merged commit d5cbd18 into develop Jul 21, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants