about summary refs log tree commit diff stats
path: root/.github/workflows
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2023-09-13 00:21:35 +0800
committerGitHub <noreply@github.com>2023-09-12 18:21:35 +0200
commit13b7398b3af0ba3735188565a03aaaddf6409763 (patch)
tree2deae3b753376664661ec4d034d9ca3a7957a969 /.github/workflows
parent50cf9c0e67936c1b5051ecab777cf8a5be1481a3 (diff)
downloadbox64-13b7398b3af0ba3735188565a03aaaddf6409763.tar.gz
box64-13b7398b3af0ba3735188565a03aaaddf6409763.zip
[CI] Upgrade QEMU to 8.1.0 (#973)
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/release.yml25
1 files changed, 14 insertions, 11 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 966ea80f..42fa0435 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -102,20 +102,23 @@ jobs:
       - name: "Test Box64"
         if: ${{ matrix.platform != 'TEGRAX1' }}
         run: |
-          if [[ ${{ matrix.platform }} != 'X64' ]]; then
-            sudo apt-get -y install qemu-user
+          if [[ ${{ matrix.platform }} != 'X64' && ${{ matrix.platform }} != 'ANDROID' ]]; then
+            mkdir qemu8.1.0
+            wget -O- -q https://london.mirror.pkgbuild.com/extra/os/x86_64/qemu-user-static-8.1.0-2-x86_64.pkg.tar.zst | tar -I zstd -C qemu8.1.0 -xf -
+            sudo cp qemu8.1.0/usr/bin/* /usr/bin/
           fi
 
           cd build
-          if [[ ${{ matrix.platform }} != 'ANDROID' ]]; then
-            if [[ ${{ matrix.platform }} == 'RISCV' ]]; then
-              QEMU_LD_PREFIX=/usr/riscv64-linux-gnu/ ctest -j$(nproc) --rerun-failed --output-on-failure
-              QEMU_LD_PREFIX=/usr/riscv64-linux-gnu/ QEMU_CPU=rv64,x-zba=true,x-zbb=true,x-zbc=true,x-zbs=true ctest -j$(nproc) --rerun-failed --output-on-failure
-            elif [[ ${{ matrix.platform }} != 'X64' ]]; then
-              QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/ ctest -j$(nproc) --rerun-failed --output-on-failure
-            else
-              ctest -j$(nproc) --rerun-failed --output-on-failure
-            fi
+          if [[ ${{ matrix.platform }} == 'RISCV' ]]; then
+            INTERPRETER=qemu-riscv64-static QEMU_LD_PREFIX=/usr/riscv64-linux-gnu/ ctest -j$(nproc) --rerun-failed --output-on-failure
+            INTERPRETER=qemu-riscv64-static QEMU_LD_PREFIX=/usr/riscv64-linux-gnu/ QEMU_CPU=rv64,zba=true,zbb=true,zbc=true,zbs=true ctest -j$(nproc) --rerun-failed --output-on-failure
+            INTERPRETER=qemu-riscv64-static QEMU_LD_PREFIX=/usr/riscv64-linux-gnu/ QEMU_CPU=rv64,xtheadba=true,xtheadba=true,xtheadbb=true,xtheadbs=true,xtheadcondmov=true,xtheadmemidx=true,xtheadmempair=true,xtheadfmemidx=true,xtheadmac=true,xtheadfmv=true ctest -j$(nproc) --rerun-failed --output-on-failure
+          elif [[ ${{ matrix.platform }} != 'X64' && ${{ matrix.platform }} != 'ANDROID' ]]; then # AArch64
+            INTERPRETER=qemu-aarch64-static QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/ ctest -j$(nproc) --rerun-failed --output-on-failure
+          elif [[ ${{ matrix.platform }} == 'ANDROID' ]]; then
+            true
+          else
+            ctest -j$(nproc) --rerun-failed --output-on-failure
           fi
 
       - name: "Upload Artifact"