CI: run the unit tests under qemu on the loongarch64 and riscv64 jobs

Those two have no runner of their own, so the jobs only ever compiled -
which is thin coverage for a code generator. Both build PPSSPPUnitTest
now and run it under qemu-user, which is where the vertex decoder and
CrossSIMD bugs on those backends turned up in the first place.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Henrik RydgårdandClaude Opus 5 committed 2026-09-21 14:05:16 -06:00
1 parent 66b59c73a9
commit c8c365ef5f
1 file changed
+12 -3
+12 -3
View File
@@ -285,14 +285,14 @@ jobs:
extra: loongarch64
cc: gcc
cxx: g++
args: ./b.sh --loongarch64 PPSSPPHeadless
args: ./b.sh --loongarch64 --unittest PPSSPPHeadless PPSSPPUnitTest
id: loongarch64
- os: ubuntu-26.04
extra: riscv64
cc: gcc
cxx: g++
args: ./b.sh --riscv64 PPSSPPHeadless
args: ./b.sh --riscv64 --unittest PPSSPPHeadless PPSSPPUnitTest
id: riscv64
- os: macos-latest
@@ -347,7 +347,7 @@ jobs:
if: matrix.extra == 'loongarch64' || matrix.extra == 'riscv64'
run: |
sudo apt-get update -y -qq
sudo apt-get install -y gcc-14-${{ matrix.extra }}-linux-gnu g++-14-${{ matrix.extra }}-linux-gnu binutils-${{ matrix.extra }}-linux-gnu libgl-dev libglu1-mesa-dev
sudo apt-get install -y gcc-14-${{ matrix.extra }}-linux-gnu g++-14-${{ matrix.extra }}-linux-gnu binutils-${{ matrix.extra }}-linux-gnu libgl-dev libglu1-mesa-dev qemu-user
sudo cmake/scripts/setup-cross.sh ${{ matrix.extra }}
- name: Install iOS dependencies
@@ -400,6 +400,15 @@ jobs:
fi
${{ matrix.args }}
# These targets have no runner of their own, so the unit tests run under emulation. It's the
# only coverage the loongarch64 and riscv64 JITs get - a compile is not much of a test for a
# code generator.
- name: Execute unit tests under qemu
if: matrix.extra == 'loongarch64' || matrix.extra == 'riscv64'
run: |
qemu-${{ matrix.extra }} -L /usr/${{ matrix.extra }}-linux-gnu \
build-${{ matrix.extra }}/PPSSPPUnitTest all
- name: Package build
if: matrix.extra == 'test' || matrix.id == 'ios'
run: |