From: Yann Collet Date: Sun, 29 Aug 2021 23:28:41 +0000 (-0700) Subject: added qemu tests X-Git-Tag: v1.5.1~1^2~121^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c97ec73d7efc412ae32bee4f88cbcd39ba3f146;p=thirdparty%2Fzstd.git added qemu tests running zstd library on emulated targets --- diff --git a/.github/workflows/dev-long-tests.yml b/.github/workflows/dev-long-tests.yml index bc88c4a6a..0f0c36e33 100644 --- a/.github/workflows/dev-long-tests.yml +++ b/.github/workflows/dev-long-tests.yml @@ -1,7 +1,7 @@ name: dev-long-tests # Tests longer than 10mn -concurrency: +concurrency: group: long-${{ github.ref }} cancel-in-progress: true @@ -10,6 +10,7 @@ on: branches: [ dev, release, actionsTest ] jobs: + # lasts ~24mn make-test: runs-on: ubuntu-latest env: @@ -20,6 +21,7 @@ jobs: - name: make test run: make test + # lasts ~26mn make-test-osx: runs-on: macos-latest steps: @@ -41,6 +43,7 @@ jobs: - name: thread sanitizer zstreamtest run: CC=clang ZSTREAM_TESTTIME=-T3mn make tsan-test-zstream + # lasts ~15mn tsan-fuzztest: runs-on: ubuntu-latest steps: @@ -48,6 +51,7 @@ jobs: - name: thread sanitizer fuzztest run: CC=clang make tsan-fuzztest + # lasts ~23mn gcc-8-asan-ubsan-testzstd: runs-on: ubuntu-latest steps: @@ -113,6 +117,7 @@ jobs: sudo apt-get install clang CC=clang FUZZER_FLAGS="--long-tests" make clean msan-fuzztest + # lasts ~24mn clang-msan-testzstd: runs-on: ubuntu-latest steps: @@ -145,6 +150,7 @@ jobs: make clean make -C tests test-fuzzer-stackmode + # lasts ~20mn oss-fuzz: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml index 1f676c46b..a5b1b122c 100644 --- a/.github/workflows/dev-short-tests.yml +++ b/.github/workflows/dev-short-tests.yml @@ -2,7 +2,7 @@ name: dev-short-tests # Faster tests: mostly build tests, along with some other # misc tests -concurrency: +concurrency: group: fast-${{ github.ref }} cancel-in-progress: true @@ -140,7 +140,7 @@ jobs: sudo apt-get -qqq update make libc6install CFLAGS="-Werror -m32" make -j all32 - + gcc-8-make: runs-on: ubuntu-latest steps: @@ -184,7 +184,7 @@ jobs: run: > msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /t:Clean,Build /p:Platform=${{matrix.platform}} /p:Configuration=${{matrix.configuration}} - + minimal-decompressor-macros: runs-on: ubuntu-latest steps: @@ -200,6 +200,59 @@ jobs: make clean && make -j all MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS" make clean && make check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS" + + qemu-consistency: + name: QEMU ${{ matrix.name }} + runs-on: ubuntu-latest + strategy: + fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix failed. + matrix: + include: [ + { name: ARM, xcc_pkg: gcc-arm-linux-gnueabi, xcc: arm-linux-gnueabi-gcc, xemu_pkg: qemu-system-arm, xemu: qemu-arm-static }, + { name: ARM64, xcc_pkg: gcc-aarch64-linux-gnu, xcc: aarch64-linux-gnu-gcc, xemu_pkg: qemu-system-arm, xemu: qemu-aarch64-static }, + { name: PPC64LE, xcc_pkg: gcc-powerpc64le-linux-gnu, xcc: powerpc64le-linux-gnu-gcc, xemu_pkg: qemu-system-ppc, xemu: qemu-ppc64le-static }, + { name: S390X, xcc_pkg: gcc-s390x-linux-gnu, xcc: s390x-linux-gnu-gcc, xemu_pkg: qemu-system-s390x, xemu: qemu-s390x-static }, + { name: MIPS, xcc_pkg: gcc-mips-linux-gnu, xcc: mips-linux-gnu-gcc, xemu_pkg: qemu-system-mips, xemu: qemu-mips-static }, + ] + env: # Set environment variables + XCC: ${{ matrix.xcc }} + XEMU: ${{ matrix.xemu }} + steps: + - uses: actions/checkout@v2 # https://github.com/actions/checkout + - name: apt update & install + run: | + sudo apt-get update + sudo apt-get install gcc-multilib g++-multilib qemu-utils qemu-user-static + sudo apt-get install ${{ matrix.xcc_pkg }} ${{ matrix.xemu_pkg }} + - name: Environment info + run: | + echo && which $XCC + echo && $XCC --version + echo && $XCC -v # Show built-in specs + echo && which $XEMU + echo && $XEMU --version + - name: ARM + if: ${{ matrix.name == 'ARM' }} + run: | + LDFLAGS="-static" CC=$XCC RUN_ENV=$XEMU make clean check + - name: ARM64 + if: ${{ matrix.name == 'ARM64' }} + run: | + LDFLAGS="-static" CC=$XCC RUN_ENV=$XEMU make clean check + - name: PPC64LE + if: ${{ matrix.name == 'PPC64LE' }} + run: | + LDFLAGS="-static" CC=$XCC RUN_ENV=$XEMU make clean check + - name: S390X + if: ${{ matrix.name == 'S390X' }} + run: | + LDFLAGS="-static" CC=$XCC RUN_ENV=$XEMU make clean check + - name: MIPS + if: ${{ matrix.name == 'MIPS' }} + run: | + LDFLAGS="-static" CC=$XCC RUN_ENV=$XEMU make clean check + + # For reference : icc tests # icc tests are currently failing on Github Actions, likely to issues during installation stage # To be fixed later