@@ -3,102 +3,57 @@ name: CMake-Tests
33on : push
44
55jobs :
6- windows-msvc :
7- name : " Windows MSVC"
8- runs-on : windows-latest
9-
10- steps :
11- - name : Checkout
12- uses : actions/checkout@v2
13-
14- - name : Install Tools Ninja and mvsc
15- uses : ilammy/msvc-dev-cmd@v1
16- - uses : seanmiddleditch/gha-setup-ninja@master
17-
18- - name : Config
19- run : cmake -S . --preset Windows-MSVC
20-
21- - name : Build
22- run : |
23- cmake --build --preset Windows-MSVC-Debug
24- cmake --build --preset Windows-MSVC-Release
25-
26- - name : Test
27- run : |
28- ctest --preset Test-Windows-MSVC-Debug
29- ctest --preset Test-Windows-MSVC-Release
30-
31-
32- linux-clang :
33- name : " Linux Clang"
34- runs-on : ubuntu-latest
6+ windows :
7+ name : " Windows"
8+ runs-on : windows-2019
359
3610 strategy :
3711 fail-fast : false
3812 matrix :
3913 include :
40- - clang_major : 12
41- - clang_major : 13
14+ - preset : " msvc2019"
4215
4316 steps :
4417 - name : Checkout
4518 uses : actions/checkout@v2
4619
47- - name : Install Ninja
48- uses : seanmiddleditch/gha-setup-ninja@master
49-
50- - name : Install clang ${{ matrix.clang_major }}
51- run : |
52- sudo apt-get update
53- sudo apt-get install clang-${{ matrix.clang_major }} libc++1-${{ matrix.clang_major }} libc++-${{ matrix.clang_major }}-dev libc++abi-${{ matrix.clang_major }}-dev libc++abi1-${{ matrix.clang_major }}
54-
55- - name : Config
56- run : |
57- cmake -S . --preset Linux-Clang
58-
59- - name : Build
60- run : |
61- cmake --build --preset Linux-Clang-Debug
62- cmake --build --preset Linux-Clang-Release
20+ - name : Install Tools Ninja and mvsc
21+ uses : ilammy/msvc-dev-cmd@v1
22+ - uses : seanmiddleditch/gha-setup-ninja@master
6323
64- - name : Test
65- run : |
66- ctest --preset Test-Linux-Clang-Debug
67- ctest --preset Test-Linux-Clang-Release
24+ - name : Build and Test Debug
25+ run : script/test_cmake.bat ${{ matrix.preset }} debug
6826
27+ - name : Build and Test Release
28+ run : script/test_cmake.bat ${{ matrix.preset }} release
6929
70- linux-gcc :
71- name : " Linux GCC "
30+ linux :
31+ name : " Linux"
7232 runs-on : ubuntu-latest
7333
7434 strategy :
7535 fail-fast : false
7636 matrix :
7737 include :
78- - gcc_major : 11
38+ - image : " arbmind/cmake-clang12:latest"
39+ preset : " clang"
40+ - image : " arbmind/cmake-clang13:latest"
41+ preset : " clang"
42+ - image : " arbmind/cmake-gcc11:latest"
43+ preset : " gcc"
7944
8045 steps :
8146 - name : Checkout
8247 uses : actions/checkout@v2
8348
84- - name : Install Ninja
85- uses : seanmiddleditch/gha-setup-ninja@master
86-
87- - name : Install gcc ${{ matrix.gcc_major }}
88- run : |
89- sudo apt-get update
90- sudo apt-get install gcc-${{ matrix.gcc_major }} g++-${{ matrix.gcc_major }} libstdc++-${{ matrix.gcc_major }}-dev
91-
92- - name : Config
93- run : |
94- cmake -S . --preset Linux-Gcc
95-
96- - name : Build
97- run : |
98- cmake --build --preset Linux-Gcc-Debug
99- cmake --build --preset Linux-Gcc-Release
100-
101- - name : Test
102- run : |
103- ctest --preset Test-Linux-Gcc-Debug
104- ctest --preset Test-Linux-Gcc-Release
49+ - name : Build and Test Debug
50+ run : >-
51+ docker run --rm -v ${GITHUB_WORKSPACE}:/project -w /project
52+ ${{ matrix.image }}
53+ script/test_cmake.sh ${{ matrix.preset }} debug
54+
55+ - name : Build and Test Release
56+ run : >-
57+ docker run --rm -v ${GITHUB_WORKSPACE}:/project -w /project
58+ ${{ matrix.image }}
59+ script/test_cmake.sh ${{ matrix.preset }} release
0 commit comments