qemu docker ci (#23)
This commit is contained in:
parent
4975a18630
commit
1f41ad0e54
77
.github/workflows/ci-qemu.yml
vendored
77
.github/workflows/ci-qemu.yml
vendored
@ -1,77 +0,0 @@
|
|||||||
name: ci-qemu
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [master]
|
|
||||||
paths:
|
|
||||||
- '.github/workflows/ci-qemu.yml'
|
|
||||||
- '*.h'
|
|
||||||
- '*.c'
|
|
||||||
pull_request:
|
|
||||||
branches: [master]
|
|
||||||
paths:
|
|
||||||
- '.github/workflows/ci-qemu.yml'
|
|
||||||
- '*.h'
|
|
||||||
- '*.c'
|
|
||||||
concurrency:
|
|
||||||
group: ci-qemu-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
ubuntu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: cross-toolchain
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install qemu-user-static \
|
|
||||||
gcc-arm-linux-gnueabi \
|
|
||||||
gcc-aarch64-linux-gnu \
|
|
||||||
gcc-mipsel-linux-gnu \
|
|
||||||
gcc-mips64el-linux-gnuabi64 \
|
|
||||||
gcc-powerpc-linux-gnu \
|
|
||||||
gcc-powerpc64le-linux-gnu \
|
|
||||||
gcc-riscv64-linux-gnu
|
|
||||||
|
|
||||||
- name: build-test-arm-thumb
|
|
||||||
run: |
|
|
||||||
arm-linux-gnueabi-gcc -march=armv7-a -mthumb main.c -o ruapu-arm-thumb
|
|
||||||
qemu-arm-static -L /usr/arm-linux-gnueabi ./ruapu-arm-thumb
|
|
||||||
|
|
||||||
- name: build-test-arm
|
|
||||||
run: |
|
|
||||||
arm-linux-gnueabi-gcc -march=armv7-a -marm main.c -o ruapu-arm
|
|
||||||
qemu-arm-static -L /usr/arm-linux-gnueabi ./ruapu-arm
|
|
||||||
|
|
||||||
- name: build-test-aarch64
|
|
||||||
run: |
|
|
||||||
aarch64-linux-gnu-gcc -march=armv8-a main.c -o ruapu-aarch64
|
|
||||||
qemu-aarch64-static -L /usr/aarch64-linux-gnu ./ruapu-aarch64
|
|
||||||
|
|
||||||
- name: build-test-mipsel
|
|
||||||
run: |
|
|
||||||
mipsel-linux-gnu-gcc -march=mips32 main.c -o ruapu-mipsel
|
|
||||||
qemu-mipsel-static -L /usr/mipsel-linux-gnu ./ruapu-mipsel
|
|
||||||
|
|
||||||
- name: build-test-mips64el
|
|
||||||
run: |
|
|
||||||
mips64el-linux-gnuabi64-gcc -march=mips64 main.c -o ruapu-mips64el
|
|
||||||
qemu-mips64el-static -L /usr/mips64el-linux-gnuabi64 ./ruapu-mips64el
|
|
||||||
|
|
||||||
- name: build-test-powerpc
|
|
||||||
run: |
|
|
||||||
powerpc-linux-gnu-gcc -mcpu=powerpc main.c -o ruapu-powerpc
|
|
||||||
qemu-ppc-static -L /usr/powerpc-linux-gnu ./ruapu-powerpc
|
|
||||||
|
|
||||||
- name: build-test-powerpc64le
|
|
||||||
run: |
|
|
||||||
powerpc64le-linux-gnu-gcc -mcpu=powerpc64le main.c -o ruapu-powerpc64le
|
|
||||||
qemu-ppc64le-static -L /usr/powerpc64le-linux-gnu ./ruapu-powerpc64le
|
|
||||||
|
|
||||||
- name: build-test-riscv64
|
|
||||||
run: |
|
|
||||||
riscv64-linux-gnu-gcc -march=rv64gc main.c -o ruapu-riscv64
|
|
||||||
qemu-riscv64-static -L /usr/riscv64-linux-gnu ./ruapu-riscv64
|
|
17
.github/workflows/ci.yml
vendored
17
.github/workflows/ci.yml
vendored
@ -64,3 +64,20 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
gcc main.c -o ruapu-mingw.exe
|
gcc main.c -o ruapu-mingw.exe
|
||||||
./ruapu-mingw.exe
|
./ruapu-mingw.exe
|
||||||
|
|
||||||
|
qemu:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
arch: [ arm, arm64, mips64le, ppc64le, riscv64, s390x ]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: setup-qemu
|
||||||
|
uses: docker/setup-qemu-action@v3
|
||||||
|
with:
|
||||||
|
platforms: linux/${{ matrix.arch }}
|
||||||
|
- name: build-test
|
||||||
|
run: |
|
||||||
|
docker run -u root --rm -v $(pwd):/${{ github.workspace }} -w ${{ github.workspace }} --platform linux/${{ matrix.arch }} debian:unstable-slim \
|
||||||
|
/bin/bash -c "apt update && apt install -y build-essential && gcc main.c -o ruapu && ./ruapu"
|
||||||
|
Loading…
Reference in New Issue
Block a user