File tree Expand file tree Collapse file tree 3 files changed +224
-0
lines changed
Expand file tree Collapse file tree 3 files changed +224
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Test on Linux
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ - ci/**
8+ pull_request :
9+ branches :
10+ - main
11+
12+ jobs :
13+ build-and-test :
14+ strategy :
15+ fail-fast : false
16+
17+ matrix :
18+ os : [ubuntu-22.04, ubuntu-24.04]
19+ cppstd : ['17', '20', '23']
20+ build-type : [Debug, Release]
21+ include :
22+ - os : ubuntu-22.04
23+ gcc-version : 11
24+ - os : ubuntu-24.04
25+ gcc-version : 13
26+ - build-type : Debug
27+ cmake-preset : conan-debug
28+ - build-type : Release
29+ cmake-preset : conan-release
30+
31+ name : GCC ${{ matrix.gcc-version }} - C++${{ matrix.cppstd }} - ${{ matrix.build-type }}
32+
33+ runs-on : ${{ matrix.os }}
34+
35+ steps :
36+ - uses : actions/checkout@v4
37+
38+ - name : Check GCC Version
39+ shell : bash
40+ run : |
41+ gcc -dumpversion
42+ (( $(gcc -dumpversion | cut -d. -f1) == ${{ matrix.gcc-version }} ))
43+
44+ - name : Install Conan
45+ uses : turtlebrowser/get-conan@main
46+
47+ - name : Setup Conan
48+ run : |
49+ conan --version
50+ conan profile detect
51+
52+ - name : Install CMake
53+ uses : lukka/get-cmake@latest
54+
55+ - name : Install dependencies
56+ run : >
57+ conan install .
58+ -s compiler.cppstd=${{ matrix.cppstd }}
59+ -s build_type=${{ matrix.build-type }}
60+ -b missing
61+
62+ - name : CMake Configure
63+ run : |
64+ cmake --list-presets
65+ cmake --preset ${{ matrix.cmake-preset }}
66+
67+ - name : Build
68+ run : |
69+ cmake --build --list-presets
70+ cmake --build --preset ${{ matrix.cmake-preset }}
71+
72+ - name : Test
73+ run : |
74+ ctest --list-presets
75+ ctest --preset ${{ matrix.cmake-preset }}
Original file line number Diff line number Diff line change 1+ name : Test on Linux (Old GCC)
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ - ci/**
8+ pull_request :
9+ branches :
10+ - main
11+
12+ jobs :
13+ build-and-test :
14+ strategy :
15+ fail-fast : false
16+
17+ matrix :
18+ os : [ubuntu-22.04]
19+ gcc-version : [9]
20+ cppstd : ['17', '20']
21+ build-type : [Debug, Release]
22+ include :
23+ - build-type : Debug
24+ cmake-preset : conan-debug
25+ - build-type : Release
26+ cmake-preset : conan-release
27+
28+ name : GCC ${{ matrix.gcc-version }} - C++${{ matrix.cppstd }} - ${{ matrix.build-type }}
29+
30+ runs-on : ${{ matrix.os }}
31+
32+ steps :
33+ - uses : actions/checkout@v4
34+
35+ - name : Setup GCC
36+ uses : egor-tensin/setup-gcc@v1
37+ with :
38+ version : ${{ matrix.gcc-version }}
39+
40+ - name : Check GCC Version
41+ shell : bash
42+ run : |
43+ gcc -dumpversion
44+ (( $(gcc -dumpversion | cut -d. -f1) == ${{ matrix.gcc-version }} ))
45+
46+ - name : Install Conan
47+ uses : turtlebrowser/get-conan@main
48+
49+ - name : Setup Conan
50+ run : |
51+ conan --version
52+ conan profile detect
53+
54+ - name : Install CMake
55+ uses : lukka/get-cmake@latest
56+
57+ - name : Install dependencies
58+ run : >
59+ conan install .
60+ -s compiler.cppstd=${{ matrix.cppstd }}
61+ -s build_type=${{ matrix.build-type }}
62+ -b missing
63+
64+ - name : CMake Configure
65+ run : |
66+ cmake --list-presets
67+ cmake --preset ${{ matrix.cmake-preset }}
68+
69+ - name : Build
70+ run : |
71+ cmake --build --list-presets
72+ cmake --build --preset ${{ matrix.cmake-preset }}
73+
74+ - name : Test
75+ run : |
76+ ctest --list-presets
77+ ctest --preset ${{ matrix.cmake-preset }}
Original file line number Diff line number Diff line change 1+ name : Test on Windows
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ - ci/**
8+ pull_request :
9+ branches :
10+ - main
11+
12+ jobs :
13+ build-and-test :
14+ strategy :
15+ fail-fast : false
16+
17+ matrix :
18+ os : [windows-2019, windows-2022]
19+ cppstd : ['17', '20', '23']
20+ build-type : [Debug, Release]
21+ exclude :
22+ - os : windows-2019
23+ cppstd : ' 23'
24+ include :
25+ - os : windows-2019
26+ msvc-version : 142
27+ - os : windows-2022
28+ msvc-version : 143
29+ - build-type : Debug
30+ cmake-preset : conan-debug
31+ - build-type : Release
32+ cmake-preset : conan-release
33+
34+ name : MSVC ${{ matrix.msvc-version }} - C++${{ matrix.cppstd }} - ${{ matrix.build-type }}
35+
36+ runs-on : ${{ matrix.os }}
37+
38+ steps :
39+ - uses : actions/checkout@v4
40+
41+ - name : Install Conan
42+ uses : turtlebrowser/get-conan@main
43+
44+ - name : Setup Conan
45+ run : |
46+ conan --version
47+ conan profile detect
48+
49+ - name : Install CMake
50+ uses : lukka/get-cmake@latest
51+
52+ - name : Install dependencies
53+ run : >
54+ conan install .
55+ -s compiler.cppstd=${{ matrix.cppstd }}
56+ -s build_type=${{ matrix.build-type }}
57+ -b missing
58+
59+ - name : CMake Configure
60+ run : |
61+ cmake --list-presets
62+ cmake --preset conan-default
63+
64+ - name : Build
65+ run : |
66+ cmake --build --list-presets
67+ cmake --build --preset ${{ matrix.cmake-preset }}
68+
69+ - name : Test
70+ run : |
71+ ctest --list-presets
72+ ctest --preset ${{ matrix.cmake-preset }}
You can’t perform that action at this time.
0 commit comments