CI: true
- name: Compile source code
- run: cmake --build . -j2 --config Release > /dev/null
+ run: cmake --build . -j5 --config Release > /dev/null
Clang:
runs-on: ubuntu-latest
- name: Compile source code
run: |
scan-build --status-bugs \
- cmake --build . -j2 --config Release > /dev/null
+ cmake --build . -j5 --config Release > /dev/null
ldflags: -static
gcov-exec: ${{ github.repository == 'zlib-ng/zlib-ng' && 'gcov' || 's390x-linux-gnu-gcov' }}
coverage: ${{ github.repository == 'zlib-ng/zlib-ng' && 'el10_gcc_s390x_dfltcc' || 'ubuntu_gcc_s390x_dfltcc' }}
- # The dedicated z15 test VM has 4 cores
- parallels-jobs: 4
- name: ${{ github.repository == 'zlib-ng/zlib-ng' && 'EL10 Clang' || 'Ubuntu GCC' }} S390X DFLTCC ASAN
os: ${{ github.repository == 'zlib-ng/zlib-ng' && 'z15' || 'ubuntu-latest' }}
asan-options: detect_leaks=0
gcov-exec: ${{ github.repository == 'zlib-ng/zlib-ng' && 'llvm-cov gcov' || 's390x-linux-gnu-gcov' }}
coverage: ${{ github.repository == 'zlib-ng/zlib-ng' && 'el10_clang_s390x_dfltcc_asan' || 'ubuntu_gcc_s390x_dfltcc_asan' }}
- # The dedicated z15 test VM has 4 cores
- parallels-jobs: 4
- name: ${{ github.repository == 'zlib-ng/zlib-ng' && 'EL10 Clang' || 'Ubuntu GCC' }} S390X DFLTCC UBSAN
os: ${{ github.repository == 'zlib-ng/zlib-ng' && 'z15' || 'ubuntu-latest' }}
packages: qemu-user gcc-s390x-linux-gnu g++-s390x-linux-gnu libc-dev-s390x-cross
gcov-exec: ${{ github.repository == 'zlib-ng/zlib-ng' && 'llvm-cov gcov' || 's390x-linux-gnu-gcov' }}
coverage: ${{ github.repository == 'zlib-ng/zlib-ng' && 'el10_clang_s390x_dfltcc_ubsan' || 'ubuntu_gcc_s390x_dfltcc_ubsan' }}
- # The dedicated z15 test VM has 4 cores
- parallels-jobs: 4
- name: ${{ github.repository == 'zlib-ng/zlib-ng' && 'EL10' || 'Ubuntu' }} Clang S390X DFLTCC ${{ (github.repository == 'zlib-ng/zlib-ng' && 'MSAN') || 'Compat' }}
os: ${{ github.repository == 'zlib-ng/zlib-ng' && 'z15' || 'ubuntu-latest' }}
${{ github.repository == 'zlib-ng/zlib-ng' && '-GNinja -DWITH_SANITIZER=Memory' || '-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DZLIB_COMPAT=ON' }}
-DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON
packages: qemu-user libc-dev-s390x-cross
- # The dedicated z15 test VM has 4 cores
- parallels-jobs: 4
# Coverage disabled, causes MSAN errors
- name: Ubuntu MinGW i686
gcov-exec: i686-w64-mingw32-gcov-posix
coverage: ubuntu_gcc_mingw_i686
# Limit parallel test jobs to prevent wine errors
- parallels-jobs: 1
+ parallel-jobs: 1
- name: Ubuntu MinGW x86_64
os: ubuntu-latest
gcov-exec: x86_64-w64-mingw32-gcov-posix
coverage: ubuntu_gcc_mingw_x86_64
# Limit parallel test jobs to prevent wine errors
- parallels-jobs: 1
+ parallel-jobs: 1
- name: Ubuntu Clang-15
os: ubuntu-latest
-DLIBCXX_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_DOCS=OFF
- cmake --build build -j3 -- cxx cxxabi
+ cmake --build build -j5 -- cxx cxxabi
echo "LLVM_BUILD_DIR=`pwd`/build" >> $GITHUB_ENV
env:
CFLAGS: -O2
CI: true
- name: Compile source code
- run: cmake --build . --verbose -j2 --config ${{ matrix.build-config || 'Release' }}
+ run: cmake --build . --verbose -j5 --config ${{ matrix.build-config || 'Release' }}
- name: Run test cases
# Don't run tests on Windows ARM
if: runner.os != 'Windows' || contains(matrix.name, 'ARM') == false
- run: ctest --verbose -C Release -E benchmark_zlib --output-on-failure --max-width 120 -j ${{ matrix.parallels-jobs || '3' }}
+ run: ctest --verbose -C Release -E benchmark_zlib --output-on-failure --max-width 120 -j ${{ matrix.parallel-jobs || '5' }}
env:
ASAN_OPTIONS: ${{ matrix.asan-options || 'verbosity=0' }}:abort_on_error=1:halt_on_error=1
MSAN_OPTIONS: ${{ matrix.msan-options || 'verbosity=0' }}:abort_on_error=1:halt_on_error=1
python3 -u -m venv ./venv
source ./venv/${{ runner.os == 'Windows' && 'Scripts' || 'bin' }}/activate
python3 -u -m pip install gcovr
- python3 -m gcovr -j 3 --gcov-ignore-parse-errors --verbose \
+ python3 -m gcovr -j 5 --gcov-ignore-parse-errors --verbose \
--exclude '(.*/|^)(_deps|benchmarks)/.*' \
--exclude-unreachable-branches \
--merge-mode-functions separate \
- name: Test benchmarks (crashtest only, no coverage data collection)
if: contains(matrix.cmake-args, '-DWITH_BENCHMARKS=ON')
- run: ctest --verbose -C Release -R ^benchmark_zlib$ --output-on-failure --max-width 120 -j ${{ matrix.parallels-jobs || '3' }}
+ run: ctest --verbose -C Release -R ^benchmark_zlib$ --output-on-failure --max-width 120 -j ${{ matrix.parallel-jobs || '5' }}
env:
ASAN_OPTIONS: ${{ matrix.asan-options || 'verbosity=0' }}:abort_on_error=1:halt_on_error=1
MSAN_OPTIONS: ${{ matrix.msan-options || 'verbosity=0' }}:abort_on_error=1:halt_on_error=1
CI: true
- name: Compile source code
- run: make -j2
+ run: make -j5
working-directory: ${{ matrix.build-dir }}
- name: Run test cases
CI: true
- name: Compile source code (zlib-ng)
- run: cmake --build . -j2 --config Release
+ run: cmake --build . -j5 --config Release
- name: Checkout repository (libpng)
uses: actions/checkout@v6
CI: true
- name: Compile source code (libpng)
- run: cmake --build . -j2 --config Release
+ run: cmake --build . -j5 --config Release
working-directory: libpng
- name: Run test cases (libpng)
- run: ctest -j2 -C Release --output-on-failure --max-width 120
+ run: ctest -j5 -C Release --output-on-failure --max-width 120
working-directory: libpng
run: cmake -S zlib -B zlib/build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
- name: Compile source code (zlib)
- run: cmake --build zlib/build -j2 --config Release
+ run: cmake --build zlib/build -j5 --config Release
- name: Generate project files (native)
run: cmake -S . -B native -DZLIB_COMPAT=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DZLIB_LIBRARIES=../zlib/build/libz.a -DZLIB_INCLUDE_DIR="../zlib/build;../zlib"
- name: Compile source code (native)
- run: cmake --build native -j2 --config Release
+ run: cmake --build native -j5 --config Release
- name: Upload build errors
uses: actions/upload-artifact@v7
run: cmake -S . -B compat -DZLIB_COMPAT=ON -DZLIB_ENABLE_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_MAINTAINER_WARNINGS=ON
- name: Compile source code (compat)
- run: cmake --build compat -j2 --config Release
+ run: cmake --build compat -j5 --config Release
- name: Generate project files (native)
run: cmake -S . -B native -DZLIB_COMPAT=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DZLIB_LIBRARIES=../compat/libz.a -DZLIB_INCLUDE_DIR=../compat
- name: Compile source code (native)
- run: cmake --build native -j2 --config Release
+ run: cmake --build native -j5 --config Release
- name: Upload build errors
uses: actions/upload-artifact@v7
CI: true
- name: Compile source code
- run: cmake --build ${{ matrix.build-dir || '.' }} --verbose -j2
+ run: cmake --build ${{ matrix.build-dir || '.' }} --verbose -j5
- name: Run test cases
- run: ctest --verbose -C Release --output-on-failure --max-width 120 -j 3
+ run: ctest --verbose -C Release --output-on-failure --max-width 120 -j 5
working-directory: ${{ matrix.build-dir || '.' }}
- name: Make source tree writable
CI: true
- name: Compile source code
- run: cmake --build . -j2 --config ${{ matrix.build-config || 'Release' }}
+ run: cmake --build . -j5 --config ${{ matrix.build-config || 'Release' }}
working-directory: test/pigz
- name: Run test cases
- run: ctest --verbose -C Release --output-on-failure --max-width 120 -j ${{ matrix.parallels-jobs || '3' }}
+ run: ctest --verbose -C Release --output-on-failure --max-width 120 -j ${{ matrix.parallel-jobs || '5' }}
working-directory: test/pigz
- name: Generate coverage report
if: matrix.coverage
run: |
python3 -u -m pip install gcovr
- python3 -m gcovr -j 3 --gcov-ignore-parse-errors --verbose \
+ python3 -m gcovr -j 5 --gcov-ignore-parse-errors --verbose \
--exclude '(.*/|^)(_deps|benchmarks)/.*' \
--exclude-unreachable-branches \
--merge-mode-functions separate \
CI: true
- name: Compile source code
- run: cmake --build . -j2 --config Release --target install
+ run: cmake --build . -j5 --config Release --target install
- name: Package release (Windows)
if: runner.os == 'Windows'