A GitHub Action that executes jobs on non-x86 CPU architectures (ARM, s390x, ppc64le, RISC-V) via QEMU emulation.
Run-On-Arch is a GitHub Action that allows developers to run CI/CD jobs on non-x86 CPU architectures like ARM, s390x, ppc64le, and RISC-V through QEMU emulation. It solves the problem of testing and building software for multiple platforms when GitHub's hosted runners only support x86 architecture, enabling cross-platform compatibility checks directly in GitHub workflows.
Developers and teams using GitHub Actions for CI/CD who need to test, build, or run software on ARM, IBM Z, PowerPC, or RISC-V architectures as part of their workflow.
Developers choose Run-On-Arch because it provides a simple, integrated solution for multi-architecture testing without requiring custom self-hosted runners or complex emulation setup, with support for multiple Linux distributions and Docker image caching for faster builds.
A Github Action that executes jobs/commands on non-x86 cpu architectures (ARMv6, ARMv7, aarch64, s390x, ppc64le, riscv64) via QEMU
Supports ARMv6, ARMv7, aarch64, s390x, ppc64le, and riscv64, enabling testing on virtually all major non-x86 architectures without setting up custom runners.
Works with multiple Linux distributions including Ubuntu, Debian, Fedora, Alpine, and Arch across various versions, allowing precise environment matching for different use cases.
Optional githubToken integration caches Docker images in the project's GitHub Package Registry, speeding up subsequent builds by avoiding re-downloads, as highlighted in the README examples.
Designed to work with GitHub's matrix strategy for parallel testing across arch/distro combinations, making it easy to set up complex CI workflows without external tools.
Relies on QEMU for software emulation, which the README explicitly warns causes 'a visible impact on performance' compared to native execution, slowing down CI jobs significantly.
When using the install parameter with githubToken, the resulting image layer is cached publicly in GitHub Package Registry, risking exposure if secrets are inadvertently included in the container state or logs.
The README notes a 'known limitation' where only one base_image configuration can be cached per workflow, reducing flexibility for complex matrix setups with multiple custom images.
Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.
Conditionally run actions based on files modified by PR, feature branch or pushed commits
GitHub Action to setup `ssh-agent` with a private key
:octocat: GitHub Action to compile LaTeX documents
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.