name: contribs on: [push, pull_request] jobs: ci-cmake: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - name: Ubuntu all contribs os: ubuntu-latest cmake-args: -DZLIB_BUILD_ADA=ON -DZLIB_BUILD_BLAST=ON -DZLIB_BUILD_IOSTREAM3=ON -DZLIB_BUILD_MINIZIP=ON -DZLIB_BUILD_PUFF=ON -DZLIB_WITH_INFBACK9=ON -DZLIB_WITH_CRC32VX=ON -DZLIB_WITH_GVMAT64=ON src_dir: . - name: Ubuntu ADA os: ubuntu-latest src_dir: contrib/ada install_zlib: yes - name: Ubuntu BLAST os: ubuntu-latest src_dir: contrib/blast install_zlib: yes - name: Ubuntu IOSTREAM os: ubuntu-latest src_dir: contrib/iostream3 install_zlib: yes - name: Ubuntu MINIZIP os: ubuntu-latest src_dir: contrib/minizip install_zlib: yes - name: Ubuntu PUFF os: ubuntu-latest src_dir: contrib/puff install_zlib: yes steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install packages run: | sudo apt install gnat libbz2-dev - name: Install zlib if: ${{ matrix.install_zlib == 'yes' }} run: | cmake -S . -B ../build-zlib -DCMAKE_BUILD_TYPE=Release cmake --build ../build-zlib --config Release sudo cmake --install ../build-zlib - name: Generate project files run: cmake -S ${{ matrix.src_dir }} -B ../build ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=Release - name: Compile source code run: cmake --build ../build --config Release - name: Run test cases run: ctest -C Release --output-on-failure --max-width 120 working-directory: ../build