mirror of
https://github.com/docker/setup-qemu-action.git
synced 2024-12-23 10:57:42 +01:00
d11e3282b2
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>
81 lines
3.0 KiB
Markdown
81 lines
3.0 KiB
Markdown
[![GitHub release](https://img.shields.io/github/release/docker/setup-qemu-action.svg?style=flat-square)](https://github.com/docker/setup-qemu-action/releases/latest)
|
|
[![GitHub marketplace](https://img.shields.io/badge/marketplace-docker--setup--qemu-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/docker-setup-qemu)
|
|
[![CI workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-qemu-action/ci.yml?branch=master&label=ci&logo=github&style=flat-square)](https://github.com/docker/setup-qemu-action/actions?workflow=ci)
|
|
[![Test workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-qemu-action/test.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/docker/setup-qemu-action/actions?workflow=test)
|
|
[![Codecov](https://img.shields.io/codecov/c/github/docker/setup-qemu-action?logo=codecov&style=flat-square)](https://codecov.io/gh/docker/setup-qemu-action)
|
|
|
|
## About
|
|
|
|
GitHub Action to install [QEMU](https://github.com/qemu/qemu) static binaries.
|
|
|
|
![Screenshot](.github/setup-qemu-action.png)
|
|
|
|
___
|
|
|
|
* [Usage](#usage)
|
|
* [Customizing](#customizing)
|
|
* [inputs](#inputs)
|
|
* [outputs](#outputs)
|
|
* [Contributing](#contributing)
|
|
|
|
## Usage
|
|
|
|
```yaml
|
|
name: ci
|
|
|
|
on:
|
|
push:
|
|
|
|
jobs:
|
|
qemu:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
-
|
|
name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
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
|
|
```
|
|
|
|
## Customizing
|
|
|
|
### inputs
|
|
|
|
The following inputs can be used as `step.with` keys:
|
|
|
|
| Name | Type | Default | Description |
|
|
|-------------|--------|-------------------------------------------------------------------------------|--------------------------------------------------|
|
|
| `image` | String | [`tonistiigi/binfmt:latest`](https://hub.docker.com/r/tonistiigi/binfmt/tags) | QEMU static binaries Docker image |
|
|
| `platforms` | String | `all` | Platforms to install (e.g., `arm64,riscv64,arm`) |
|
|
|
|
### 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](/.github/CONTRIBUTING.md)
|