GitHub Action to install QEMU static binaries
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Solomon Jacobs e094f5825c Provide usage examples in README.md
We provide two simple examples of invoking `qemu-{arch}-static` (or more
precisely, we let the kernel do the invocation.)

Closes: #95

Signed-off-by: Solomon Jacobs <solomonjacobs@protonmail.com>
2 weeks ago
.github ci: update-dist workflow 2 months ago
__tests__ switch to ESM and update config/test wiring 4 weeks ago
dist chore: update generated content 3 weeks ago
src switch to ESM and update config/test wiring 4 weeks ago
.dockerignore
.editorconfig
.gitattributes
.gitignore
.prettierignore
.prettierrc.json switch to ESM and update config/test wiring 4 weeks ago
.yarnrc.yml
LICENSE
README.md Provide usage examples in README.md 2 weeks ago
action.yml node 24 as default runtime 3 weeks ago
codecov.yml
dev.Dockerfile node 24 as default runtime 3 weeks ago
docker-bake.hcl
eslint.config.mjs switch to ESM and update config/test wiring 4 weeks ago
package.json build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0 3 weeks ago
tsconfig.json switch to ESM and update config/test wiring 4 weeks ago
vitest.config.ts switch from jest to vitest 4 weeks ago
yarn.lock build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0 3 weeks ago

README.md

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
        with:
          platforms: arm64, i386
      -
        name: Create an example binary for AArch64
        run: |
          go mod init hello
          cat << EOL > hello.go
          package main

          func main() {
            println("Hello, AArch64!")
          }
          EOL
          GOARCH=arm64 go build hello.go          
      -
        name: This would fail without docker/setup-qemu-action
        run: ./hello
      -
        name: You can also run images from other platforms
        run: docker run --platform linux/i386 hello-world

[!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)
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