name: CI on: push: branches: [main] paths-ignore: - "docs/**" - "**/README.md" pull_request: branches: [main] paths-ignore: - "docs/**" - "**/README.md" jobs: macos-build: name: macOS Build runs-on: macos-latest steps: - uses: actions/checkout@v5 with: submodules: true - name: Install Libraries run: | brew install cairo pango - name: Build run: | cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -S. -Bbuild -G Ninja cmake --build build --config Debug --target all - name: Test run: | ctest --test-dir build -C Debug --output-on-failure windows-build: name: Windows Build runs-on: windows-latest steps: - uses: actions/checkout@v5 with: submodules: true - name: Build run: | . tools/Use-VC.ps1 Use-VC cmake -DCMAKE_BUILD_TYPE=Debug -S. -Bbuild -G Ninja cmake --build build --config Debug --target all - name: Test run: | ctest --test-dir build -C Debug --output-on-failure windows-build-dynamic: name: Windows Build (Dynamic Linking) runs-on: windows-latest steps: - uses: actions/checkout@v5 with: submodules: true - name: Build run: | . tools/Use-VC.ps1 Use-VC cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=1 -S. -Bbuild-dynamic -G Ninja cmake --build build-dynamic --config Debug --target all - name: Test run: | ctest --test-dir build-dynamic -C Debug --output-on-failure linux-build: name: Linux Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: submodules: true - name: Install Libraries run: | sudo apt update sudo apt install -y libpng-dev libcairo2-dev libpango1.0-dev libxcb1-dev libxcb-cursor-dev - name: Build run: | cmake -DCMAKE_BUILD_TYPE=Debug -S. -Bbuild -G Ninja cmake --build build --config Debug --target all - name: Test run: | ctest --test-dir build -C Debug --output-on-failure