about summary refs log tree commit diff stats
path: root/.github/workflows
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2023-03-18 14:38:02 +0800
committerGitHub <noreply@github.com>2023-03-18 07:38:02 +0100
commit241cec6e43ca0b97a5a6465c992233217b155262 (patch)
tree6a705303f8903b67e6f4fb602b7c5474bddfe936 /.github/workflows
parentd8328b6f6e1e60f32b218676eb1dbfda09683585 (diff)
downloadbox64-241cec6e43ca0b97a5a6465c992233217b155262.tar.gz
box64-241cec6e43ca0b97a5a6465c992233217b155262.zip
Enable test for RV64 and ARM64 in CI (#583)
If we can pass the environment variable `QEMU_LD_PREFIX=/usr/{riscv64,aarch64}-linux-gnu/lib/`
to ctest, it should also work and be cleaner, but I don't know how to do it as
I am not familiar with cmake.

Note that TEGRAX1 is not currently working because of a mismatch in GLIBC version.
Therefore, we skipped this platform.

Co-authored-by: xctan <xctan@cirno.icu>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/release.yml14
1 files changed, 12 insertions, 2 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7fe95843..379d13da 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -92,10 +92,20 @@ jobs:
           make -j$(nproc) VERBOSE=1
 
       - name: "Test Box64"
-        if: ${{ matrix.platform == 'X64' }}
+        if: ${{ matrix.platform != 'TEGRAX1' }}
         run: |
+          if [[ ${{ matrix.platform }} != 'X64' ]]; then
+            sudo apt-get -y install qemu-user
+          fi
+
+          if [[ ${{ matrix.platform }} == 'RISCV' ]]; then
+            sudo cp -r /usr/riscv64-linux-gnu/lib/* /lib/
+          elif [[ ${{ matrix.platform }} != 'X64' ]]; then
+            sudo cp -r /usr/aarch64-linux-gnu/lib/* /lib/
+          fi
+
           cd build
-          ctest -j$(nproc)
+          ctest -j$(nproc) --rerun-failed --output-on-failure
 
       - name: "Upload Artifact"
         uses: actions/upload-artifact@v3