GitHub Action to install QEMU static binaries https://github.com/marketplace/actions/docker-setup-qemu
Find a file
dependabot[bot] 94cf93cae1
build(deps): bump actions/checkout from 6.0.2 to 7.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](de0fac2e45...9c091bb21b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-19 06:12:28 +00:00
.github build(deps): bump actions/checkout from 6.0.2 to 7.0.0 2026-06-19 06:12:28 +00:00
__tests__ uninstall current emulators 2026-05-27 17:33:46 +02:00
dist chore: update generated content 2026-05-28 06:23:40 +00:00
src uninstall current emulators 2026-05-27 17:33:46 +02:00
.dockerignore update to yarn 3.6.3 2024-05-07 15:53:14 +02:00
.editorconfig Initial commit (docker/build-push-action#87) 2020-08-18 18:19:47 +02:00
.gitattributes update to yarn 3.6.3 2024-05-07 15:53:14 +02:00
.gitignore update to yarn 3.6.3 2024-05-07 15:53:14 +02:00
.prettierignore update to yarn 3.6.3 2024-05-07 15:53:14 +02:00
.prettierrc.json switch to ESM and update config/test wiring 2026-02-28 02:05:32 +01:00
.yarnrc.yml update yarn to 4.15.0 2026-05-28 15:14:00 +02:00
action.yml uninstall current emulators 2026-05-27 17:33:46 +02:00
codecov.yml ci: test workflow and codecov config 2023-02-21 09:42:52 +01:00
dev.Dockerfile fix: use lockfile-aware install commands 2026-06-12 18:49:25 +00:00
docker-bake.hcl update bake-action to v6 2025-01-08 13:12:39 +01:00
eslint.config.mjs switch to ESM and update config/test wiring 2026-02-28 02:05:32 +01:00
LICENSE Initial commit (docker/build-push-action#87) 2020-08-18 18:19:47 +02:00
package.json update yarn to 4.15.0 2026-05-28 15:14:00 +02:00
README.md uninstall current emulators 2026-05-27 17:33:46 +02:00
tsconfig.json switch to ESM and update config/test wiring 2026-02-28 02:05:32 +01:00
vitest.config.ts switch from jest to vitest 2026-02-28 02:05:29 +01:00
yarn.lock update yarn to 4.15.0 2026-05-28 15:14:00 +02:00

GitHub release GitHub marketplace CI workflow Test workflow Codecov

About

GitHub Action to install QEMU static binaries.

Screenshot


Usage

name: ci

on:
  push:

jobs:
  qemu:
    runs-on: ubuntu-latest
    steps:
      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v4

This action registers QEMU emulators with binfmt_misc, so later steps can run containers built for another architecture on the GitHub-hosted runner.

name: run-cross-platform-container

on:
  workflow_dispatch:

jobs:
  qemu-example:
    runs-on: ubuntu-latest
    steps:
      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v4
      -
        name: Run an arm64 container
        run: docker run --rm --platform linux/arm64 alpine uname -m

The command above prints aarch64 even though the job itself is running on ubuntu-latest.

Tip

setup-qemu-action enables user-mode emulation for registered platforms. It does not install qemu-system-* tools or add qemu-* binaries to your PATH.

Note

If you are using docker/setup-buildx-action, this action should come before it:

    -
      name: Set up QEMU
      uses: docker/setup-qemu-action@v4
    -
      name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v4

Customizing

inputs

The following inputs can be used as step.with keys:

Name Type Default Description
image String tonistiigi/binfmt:latest QEMU static binaries Docker image
platforms String all Platforms to install (e.g., arm64,riscv64,arm)
reset Bool false Uninstall current emulators before installation
cache-image Bool true Cache binfmt image to GitHub Actions cache backend

outputs

The following outputs are available:

Name Type Description
platforms String Available platforms (comma separated)

Contributing

Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md