mirror of
https://github.com/docker/setup-qemu-action.git
synced 2026-05-12 13:28:05 +00:00
Compare commits
5 Commits
41baaa4507
...
9d8cbc506a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d8cbc506a | ||
|
|
29109295f8 | ||
|
|
7ffe24aa9a | ||
|
|
17bc18bb05 | ||
|
|
d11e3282b2 |
19
.github/workflows/ci.yml
vendored
19
.github/workflows/ci.yml
vendored
@ -102,3 +102,22 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Available platforms
|
name: Available platforms
|
||||||
run: echo ${{ steps.qemu.outputs.platforms }}
|
run: echo ${{ steps.qemu.outputs.platforms }}
|
||||||
|
|
||||||
|
version:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
image:
|
||||||
|
- tonistiigi/binfmt:master
|
||||||
|
- tonistiigi/binfmt:latest
|
||||||
|
- tonistiigi/binfmt:qemu-v7.0.0
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
image: ${{ matrix.image }}
|
||||||
|
|||||||
20
README.md
20
README.md
@ -33,6 +33,26 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
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
|
## Customizing
|
||||||
|
|||||||
2
dist/index.js
generated
vendored
2
dist/index.js
generated
vendored
File diff suppressed because one or more lines are too long
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
10
src/main.ts
10
src/main.ts
@ -33,6 +33,16 @@ actionsToolkit.run(
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await core.group(`Binfmt version`, async () => {
|
||||||
|
await Docker.getExecOutput(['run', '--rm', '--privileged', input.image, '--version'], {
|
||||||
|
ignoreReturnCode: true
|
||||||
|
}).then(res => {
|
||||||
|
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||||
|
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
await core.group(`Installing QEMU static binaries`, async () => {
|
await core.group(`Installing QEMU static binaries`, async () => {
|
||||||
await Docker.getExecOutput(['run', '--rm', '--privileged', input.image, '--install', input.platforms], {
|
await Docker.getExecOutput(['run', '--rm', '--privileged', input.image, '--install', input.platforms], {
|
||||||
ignoreReturnCode: true
|
ignoreReturnCode: true
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user