Build: add GCC-13, Clang-14, Clang-15, Clang-16, Clang-17
[marnav.git] / .github / workflows / ci.yaml
blobef2c12d11faff77b1dc300bd83a64ba4fe14835f
1 name: marnav CI
3 on:
4   pull_request:
5   push:
6     branches:
7       - master
9 jobs:
10   build-gcc:
11     runs-on: ubuntu-latest
12     container:
13       image: mariokonrad/marnav:gcc-12.2.0
15       # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#docker-container-filesystem=
16       # Quote:
17       # > Note: GitHub Actions must be run by the default Docker user (root).
18       # > Ensure your Dockerfile does not set the USER instruction, otherwise
19       # > you will not be able to access GITHUB_WORKSPACE.
20       options: --user root
22     steps:
23       - name: print versions
24         run: |
25           git --version
26           echo "--------------------------------------------------------------------------------"
27           cmake --version
28           echo "--------------------------------------------------------------------------------"
29           ninja --version
30           echo "--------------------------------------------------------------------------------"
31           g++ --version
33       - uses: actions/checkout@v3
35       - name: configure
36         run: cmake --preset gcc-release -G Ninja
38       - name: build
39         run: cmake --build --preset gcc-release -j
41       - name: test
42         run: ctest --preset gcc-release
44   # TODO: clang
46   build-vs2022:
47     runs-on: windows-2022
48     steps:
49       - name: print versions
50         run: |
51           git --version
52           echo "--------------------------------------------------------------------------------"
53           cmake --version
55       - uses: actions/checkout@v3
57       - name: configure
58         run: cmake --preset vs2022-release-shared
60       - name: build
61         run: cmake --build --preset vs2022-release-shared
63       - name: test
64         run: ctest --preset vs2022-release-shared