Skip to content

CI improvements

CI improvements #204

Workflow file for this run

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:
CC: "clang"
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@v5
- 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