-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: GitHub Actions Bot <[email protected]>
- Loading branch information
GitHub Actions Bot
committed
Oct 23, 2024
1 parent
aff3bbb
commit eac9424
Showing
8 changed files
with
553 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,297 @@ | ||
on: push | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
checkapply: | ||
runs-on: ubuntu-latest | ||
steps: | ||
# to debug container live from GitHub | ||
# - uses: mxschmitt/action-tmate@v3 | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: bash -c '[ ! -f shazam.log ] || { cat shazam.log; exit 1; }' | ||
|
||
checkpatch-ignore-signoff: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- name: fetch all commits | ||
run: git fetch -a origin --unshallow || true | ||
- name: add upstream | ||
run: git remote add upstream -f https://gitlab.com/qemu-project/qemu | ||
- name: checkpatch | ||
run: ./scripts/checkpatch.pl --no-signoff $(git merge-base upstream/master HEAD)..HEAD | ||
|
||
checkpatch-with-signoff: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- name: fetch all commits | ||
run: git fetch -a origin --unshallow || true | ||
- name: add upstream | ||
run: git remote add upstream -f https://gitlab.com/qemu-project/qemu | ||
- name: checkpatch | ||
run: ./scripts/checkpatch.pl $(git merge-base upstream/master HEAD)..HEAD | ||
|
||
# use docker-run to not rebuild images | ||
# images are built daily and pushed on pbolinaro/qemu-ci:* | ||
|
||
build-cross: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
container: [alpine,centos9,debian,debian-all-test-cross,debian-amd64-cross,debian-arm64-cross,debian-armhf-cross,debian-hexagon-cross,debian-i686-cross,debian-legacy-test-cross,debian-mips64el-cross,debian-mipsel-cross,debian-ppc64el-cross,debian-s390x-cross,debian-tricore-cross,fedora,fedora-rust-nightly,opensuse-leap,ubuntu2204] | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: pip install meson | ||
- run: make docker-run J=$(nproc) TEST=test-build IMAGE=pbolinaro/qemu-ci:${{matrix.container}} | ||
|
||
build: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
build-windows: | ||
needs: checkapply | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: msys2/setup-msys2@v2 | ||
with: | ||
update: true | ||
install: >- | ||
bison diffutils flex git grep make sed | ||
mingw-w64-x86_64-binutils | ||
mingw-w64-x86_64-ccache | ||
mingw-w64-x86_64-curl | ||
mingw-w64-x86_64-gcc | ||
mingw-w64-x86_64-glib2 | ||
mingw-w64-x86_64-libnfs | ||
mingw-w64-x86_64-libssh | ||
mingw-w64-x86_64-ninja | ||
mingw-w64-x86_64-pixman | ||
mingw-w64-x86_64-pkgconf | ||
mingw-w64-x86_64-python | ||
mingw-w64-x86_64-zstd | ||
- run: msys2 -c './configure && ninja -C build' | ||
|
||
build-macos-x86_64: | ||
needs: checkapply | ||
runs-on: macos-13 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: brew install --quiet $(brew deps --include-build qemu) | ||
# on macos, werror is not on by default | ||
- run: ./configure --enable-werror && ninja -C build | ||
|
||
build-macos-aarch64: | ||
needs: checkapply | ||
runs-on: macos-14 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: brew install --quiet $(brew deps --include-build qemu) | ||
# on macos, werror is not on by default | ||
- run: ./configure --enable-werror && ninja -C build | ||
|
||
build-misc: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --disable-user --disable-system --enable-docs --enable-tools && ninja -C build install' | ||
build-32bits: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-i686-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
build-big-endian: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-s390x-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
build-debug: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --enable-debug --enable-asan --enable-ubsan && ninja -C build install' | ||
build-static: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --disable-system --disable-tools --disable-guest-agent --disable-docs --static && ninja -C build install' | ||
build-clang: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx 'apt update && apt install -y clang && ./configure $QEMU_CONFIGURE_OPTS --cxx=clang++ --cc=clang --host-cc=clang && ninja -C build install' | ||
build-rust: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:fedora-rust-nightly | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --enable-rust && ninja -C build install' | ||
build-disable-tcg: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --disable-tcg && ninja -C build install' | ||
build-disable-kvm: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --disable-kvm && ninja -C build install' | ||
build-disable-tcg-kvm-for-xen: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --disable-tcg --disable-kvm && ninja -C build install' | ||
check: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
- run: sudo chown $USER:$USER /dev/kvm | ||
- run: > | ||
podman run --privileged --rm -it -v /dev/kvm:/dev/kvm -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx "make check -k -j1" | ||
check-tcg: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
# flaky test: signals on some architecture - skip | ||
- run: rm ./tests/tcg/multiarch/signals.c | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-all-test-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --enable-debug --enable-asan --enable-ubsan && ninja -C build install' | ||
- run: > | ||
podman run --privileged --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-all-test-cross | ||
bash -cx "make check-tcg -k -j1" | ||
check-functional: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
# deactivate one test that needs sound card | ||
# GitHub runners don't have sound support, and it's not possible to load a | ||
# snd-dummy module to add it. | ||
- run: sed -i -e '/m68k_q800/d' tests/functional/meson.build | ||
# add more time for tests | ||
- run: sed -i -e 's/test_timeouts.get(test, 60)/test_timeouts.get(test, 600)/' tests/functional/meson.build | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
- run: sudo chown $USER:$USER /dev/kvm | ||
- run: > | ||
podman run --privileged --rm -it -v /dev/kvm:/dev/kvm -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx "make check-functional -k -j1" | ||
check-avocado: | ||
needs: checkapply | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
# deactivate one test that needs sound card | ||
# GitHub runners don't have sound support, and it's not possible to load a | ||
# snd-dummy module to add it. | ||
- run: sed -i -e '/test_m68k_q800/,+17d' tests/avocado/replay_kernel.py | ||
# add more time for tests | ||
- run: sed -i -e 's/timeout = 120/timeout = 600/' tests/avocado/avocado_qemu/__init__.py | ||
- run: > | ||
podman run --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
- run: sudo chown $USER:$USER /dev/kvm | ||
- run: > | ||
podman run --privileged --rm -it -v /dev/kvm:/dev/kvm -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-amd64-cross | ||
bash -cx "make check-avocado -k -j1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
on: | ||
schedule: | ||
- cron: '0 0 * * *' | ||
workflow_dispatch: | ||
|
||
permissions: write-all | ||
|
||
jobs: | ||
build_container: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# cd tests/docker/dockerfiles/ | ||
# ls *docker | sed -e 's/.docker//' | tr '\n' ',' | ||
# remove: debian-bootstrap,debian-toolchain | ||
container: [alpine,centos9,debian-all-test-cross,debian-amd64-cross,debian-arm64-cross,debian-armhf-cross,debian,debian-hexagon-cross,debian-i686-cross,debian-legacy-test-cross,debian-loongarch-cross,debian-mips64el-cross,debian-mipsel-cross,debian-ppc64el-cross,debian-riscv64-cross,debian-s390x-cross,debian-tricore-cross,debian-xtensa-cross,fedora,fedora-rust-nightly,fedora-win64-cross,opensuse-leap,python,ubuntu2204] | ||
steps: | ||
- run: git clone https://gitlab.com/qemu-project/qemu | ||
- run: make -C qemu docker-image-${{matrix.container}} RUNC=podman V=1 | ||
- run: podman tag qemu/${{matrix.container}} docker.io/pbolinaro/qemu-ci:${{matrix.container}} | ||
- run: podman login -u pbolinaro -p ${{secrets.DOCKERHUB_PASSWORD}} | ||
- run: podman push docker.io/pbolinaro/qemu-ci:${{matrix.container}} | ||
|
||
keepalive-job: | ||
name: Keepalive Workflow | ||
if: ${{ always() }} | ||
needs: build_container | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: gautamkrishnar/keepalive-workflow@v2 | ||
with: | ||
use_api: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
on: | ||
schedule: | ||
- cron: '*/10 * * * *' | ||
workflow_dispatch: | ||
|
||
permissions: write-all | ||
|
||
jobs: | ||
push_new_series: | ||
runs-on: ubuntu-latest | ||
concurrency: | ||
group: push_new_series | ||
cancel-in-progress: true | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
# a PAT must be generated with workflow permission, else it's not | ||
# possible to push any change for those files | ||
# https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow#triggering-a-workflow-from-a-workflow | ||
token: ${{ secrets.WORKFLOW_COMMIT_TOKEN }} | ||
- run: git fetch -a origin --unshallow || true | ||
- run: git config user.name "GitHub Actions Bot" | ||
- run: git config user.email "<[email protected]>" | ||
- run: git config advice.detachedHead false | ||
- run: sudo pip install b4 | ||
- run: ./push_new_series.sh | ||
|
||
keepalive-job: | ||
name: Keepalive Workflow | ||
if: ${{ always() }} | ||
needs: push_new_series | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: gautamkrishnar/keepalive-workflow@v2 | ||
with: | ||
use_api: false |
Oops, something went wrong.