os: ubuntu-latest
compiler: arm-linux-gnueabi-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=arm-linux-gnueabi -DWITH_SANITIZER=Address
- packages: qemu gcc-arm-linux-gnueabi libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross
+ qemu-run: qemu-arm
codecov: ubuntu_gcc_armsf
- name: Ubuntu GCC ARM SF Compat No Opt
os: ubuntu-latest
compiler: arm-linux-gnueabi-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=arm-linux-gnueabi -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined
- packages: qemu gcc-arm-linux-gnueabi libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross
+ qemu-run: qemu-arm
codecov: ubuntu_gcc_armsf_compat_no_opt
- name: Ubuntu GCC ARM HF
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=arm-linux-gnueabihf -DWITH_SANITIZER=Address
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
codecov: ubuntu_gcc_armhf
- name: Ubuntu GCC ARM HF No ACLE
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=arm-linux-gnueabihf -DWITH_ACLE=OFF -DWITH_SANITIZER=Address
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
codecov: ubuntu_gcc_armhf_no_acle
- name: Ubuntu GCC ARM HF No NEON
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=arm-linux-gnueabihf -DWITH_NEON=OFF -DWITH_SANITIZER=Address
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
codecov: ubuntu_gcc_armhf_no_neon
- name: Ubuntu GCC ARM HF Compat No Opt
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=arm-linux-gnueabihf -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
codecov: ubuntu_gcc_armhf_compat_no_opt
- name: Ubuntu GCC AARCH64
compiler: aarch64-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_SANITIZER=Address
asan-options: detect_leaks=0
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
codecov: ubuntu_gcc_aarch64
- name: Ubuntu GCC AARCH64 No ACLE
compiler: aarch64-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_ACLE=OFF -DWITH_SANITIZER=Undefined
asan-options: detect_leaks=0
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
codecov: ubuntu_gcc_aarch64_no_acle
- name: Ubuntu GCC AARCH64 No NEON
compiler: aarch64-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_NEON=OFF -DWITH_SANITIZER=Undefined
asan-options: detect_leaks=0
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
codecov: ubuntu_gcc_aarch64_no_neon
- name: Ubuntu GCC AARCH64 Compat No Opt
compiler: aarch64-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined
asan-options: detect_leaks=0
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
codecov: ubuntu_gcc_aarch64_compat_no_opt
- name: Ubuntu GCC PPC
os: ubuntu-latest
compiler: powerpc-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake
- packages: qemu gcc-powerpc-linux-gnu libc-dev-powerpc-cross
+ packages: qemu qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross
+ qemu-run: qemu-ppc
ldflags: -static
codecov: ubuntu_gcc_ppc
os: ubuntu-latest
compiler: powerpc64-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64.cmake
- packages: qemu gcc-powerpc64-linux-gnu libc-dev-ppc64-cross
+ packages: qemu qemu-user gcc-powerpc64-linux-gnu libc-dev-ppc64-cross
+ qemu-run: qemu-ppc64
ldflags: -static
codecov: ubuntu_gcc_ppc64
os: ubuntu-latest
compiler: powerpc64le-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake
- packages: qemu gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross
+ packages: qemu qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross
+ qemu-run: qemu-ppc64le
codecov: ubuntu_gcc_ppc64le
- name: Ubuntu GCC SPARC64
os: ubuntu-latest
compiler: sparc64-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-sparc64.cmake
- packages: qemu gcc-sparc64-linux-gnu libc-dev-sparc64-cross
+ packages: qemu qemu-user gcc-sparc64-linux-gnu libc-dev-sparc64-cross
+ qemu-run: qemu-sparc64
ldflags: -static
codecov: ubuntu_gcc_sparc64
os: ubuntu-latest
compiler: s390x-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DWITH_SANITIZER=Address
- packages: qemu gcc-s390x-linux-gnu libc-dev-s390x-cross
+ packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+ qemu-run: qemu-s390x
ldflags: -static
codecov: ubuntu_gcc_s390x
os: ubuntu-latest
compiler: s390x-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON -DWITH_SANITIZER=Address
- packages: qemu gcc-s390x-linux-gnu libc-dev-s390x-cross
+ packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+ qemu-run: qemu-s390x
ldflags: -static
codecov: ubuntu_gcc_s390x
os: ubuntu-latest
compiler: s390x-linux-gnu-gcc
cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DZLIB_COMPAT=ON -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON -DWITH_SANITIZER=Undefined
- packages: qemu gcc-s390x-linux-gnu libc-dev-s390x-cross
+ packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+ qemu-run: qemu-s390x
ldflags: -static
codecov: ubuntu_gcc_s390x
MSAN_OPTIONS: ${{ matrix.msan-options || 'verbosity=0' }}:abort_on_error=1
TSAN_OPTIONS: ${{ matrix.tsan-options || 'verbosity=0' }}:abort_on_error=1
LSAN_OPTIONS: ${{ matrix.lsan-options || 'verbosity=0' }}:abort_on_error=1
+ QEMU_RUN: ${{ matrix.qemu-run }}
- name: Upload coverage report
if: matrix.codecov && ( env.CODECOV_TOKEN_SECRET != '' || github.repository == 'zlib-ng/zlib-ng' )
compiler: arm-linux-gnueabi-gcc
configure-args: --warn
chost: arm-linux-gnueabi
- packages: qemu gcc-arm-linux-gnueabi libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross
+ qemu-run: qemu-arm
- name: Ubuntu GCC ARM SF Compat No Opt
os: ubuntu-latest
compiler: arm-linux-gnueabi-gcc
configure-args: --warn --zlib-compat --without-optimizations --without-new-strategies
chost: arm-linux-gnueabi
- packages: qemu gcc-arm-linux-gnueabi libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross
+ qemu-run: qemu-arm
- name: Ubuntu GCC ARM HF
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
configure-args: --warn
chost: arm-linux-gnueabihf
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
- name: Ubuntu GCC ARM HF No ACLE
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
configure-args: --warn --without-acle
chost: arm-linux-gnueabihf
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
- name: Ubuntu GCC ARM HF No NEON
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
configure-args: --warn --without-neon
chost: arm-linux-gnueabihf
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
- name: Ubuntu GCC ARM HF Compat No Opt
os: ubuntu-latest
compiler: arm-linux-gnueabihf-gcc
configure-args: --warn --zlib-compat --without-optimizations --without-new-strategies
chost: arm-linux-gnueabihf
- packages: qemu gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+ qemu-run: qemu-arm
- name: Ubuntu GCC AARCH64
os: ubuntu-latest
compiler: aarch64-linux-gnu-gcc
configure-args: --warn
chost: aarch64-linux-gnu
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
- name: Ubuntu GCC AARCH64 No ACLE
os: ubuntu-latest
compiler: aarch64-linux-gnu-gcc
configure-args: --warn --without-acle
chost: aarch64-linux-gnu
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
- name: Ubuntu GCC AARCH64 No NEON
os: ubuntu-latest
compiler: aarch64-linux-gnu-gcc
configure-args: --warn --without-neon
chost: aarch64-linux-gnu
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
- name: Ubuntu GCC AARCH64 Compat No Opt
os: ubuntu-latest
compiler: aarch64-linux-gnu-gcc
configure-args: --warn --zlib-compat --without-optimizations --without-new-strategies
chost: aarch64-linux-gnu
- packages: qemu gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+ qemu-run: qemu-aarch64
- name: Ubuntu GCC PPC
os: ubuntu-latest
compiler: powerpc-linux-gnu-gcc
configure-args: --warn --static
chost: powerpc-linux-gnu
- packages: qemu gcc-powerpc-linux-gnu libc-dev-powerpc-cross
+ packages: qemu qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross
+ qemu-run: qemu-ppc
cflags: -static
ldflags: -static
compiler: powerpc64-linux-gnu-gcc
configure-args: --warn --static
chost: powerpc-linux-gnu
- packages: qemu gcc-powerpc64-linux-gnu libc-dev-ppc64-cross
+ packages: qemu qemu-user gcc-powerpc64-linux-gnu libc-dev-ppc64-cross
+ qemu-run: qemu-ppc64
cflags: -static
ldflags: -static
compiler: powerpc64le-linux-gnu-gcc
configure-args: --warn
chost: powerpc64le-linux-gnu
- packages: qemu gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross
+ packages: qemu qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross
+ qemu-run: qemu-ppc64le
- name: Ubuntu GCC S390X
os: ubuntu-latest
compiler: s390x-linux-gnu-gcc
configure-args: --warn --static
chost: s390x-linux-gnu
- packages: qemu gcc-s390x-linux-gnu libc-dev-s390x-cross
+ packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+ qemu-run: qemu-s390x
cflags: -static
ldflags: -static
compiler: s390x-linux-gnu-gcc
configure-args: --warn --static --with-dfltcc-deflate --with-dfltcc-inflate
chost: s390x-linux-gnu
- packages: qemu gcc-s390x-linux-gnu libc-dev-s390x-cross
+ packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+ qemu-run: qemu-s390x
cflags: -static
ldflags: -static
compiler: s390x-linux-gnu-gcc
configure-args: --warn --zlib-compat --static --with-dfltcc-deflate --with-dfltcc-inflate
chost: s390x-linux-gnu
- packages: qemu gcc-s390x-linux-gnu libc-dev-s390x-cross
+ packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+ qemu-run: qemu-s390x
cflags: -static
ldflags: -static
run: |
cd ${{ matrix.build-dir || '.' }}
make test
+ env:
+ QEMU_RUN: ${{ matrix.qemu-run }}