name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: strategy: matrix: platform: - os: ubuntu-latest generator: Unix Makefiles env: CFLAGS: "-Werror -Wall -Wextra" - os: ubuntu-latest generator: Unix Makefiles env: CC: "clang" CFLAGS: "-Werror -Wall -Wextra -fsanitize=leak" - os: ubuntu-latest generator: Unix Makefiles image: i386/debian:latest env: CFLAGS: "-Werror -Wall -Wextra" - os: macos-latest generator: Unix Makefiles env: CFLAGS: "-Werror -Wall -Wextra" - os: windows-latest generator: Visual Studio 17 2022 - os: windows-latest generator: MSYS Makefiles env: CFLAGS: "-Werror -Wall -Wextra" - os: windows-latest generator: MinGW Makefiles env: CFLAGS: "-Werror -Wall -Wextra" fail-fast: false runs-on: ${{ matrix.platform.os }} container: ${{matrix.platform.image}} env: CC: ${{matrix.platform.env.CC}} CFLAGS: ${{matrix.platform.env.CFLAGS}} steps: - name: Prepare 32 bit container image if: matrix.platform.image == 'i386/debian:latest' run: apt -q update && apt -q -y install cmake gcc libc6-amd64 lib64stdc++6 make python3 - name: Check out uses: actions/checkout@v4 - name: Build shell: bash run: | mkdir build cd build cmake .. -G "${{matrix.platform.generator}}" cmake --build . --verbose - name: Test shell: bash run: | cd build CTEST_OUTPUT_ON_FAILURE=1 ctest --build-config Debug