66 docker :
77 runs-on : ubuntu-latest
88 steps :
9- - uses : actions/checkout@v3
9+ - uses : actions/checkout@v4
1010 - name : Build Docker image
1111 run : docker build --tag caracal .
1212 - name : Test Docker image
1515 nix :
1616 runs-on : ubuntu-latest
1717 steps :
18- - uses : actions/checkout@v3
18+ - uses : actions/checkout@v4
1919 - uses : cachix/install-nix-action@v20
2020 - uses : cachix/cachix-action@v12
2121 with :
@@ -27,48 +27,45 @@ jobs:
2727 linux :
2828 runs-on : ubuntu-latest
2929 steps :
30- - uses : actions/checkout@v3
31- - uses : actions/cache@v3
30+ - uses : actions/checkout@v4
31+ - name : Setup Conan Client
32+ uses : conan-io/setup-conan@v1
3233 with :
33- path : ~/.conan/data
34- key : tests-${{ runner.os }}-x86_64
34+ version : ' 2.21.0 '
35+ cache_packages : true # automatically cache Conan packages
3536 - name : Install dependencies
36- run : |
37- sudo apt update
38- sudo apt install --yes build-essential cmake gcovr ninja-build python3-pip
39- pip3 install "conan<2.0"
37+ run : sudo apt update && sudo apt install --yes build-essential cmake gcovr ninja-build python3-pip
38+ - name : Install Conan dependencies
39+ run : conan install . --output-folder=build --build=missing -s compiler=gcc -s compiler.version=10 -s compiler.cppstd=20 -s build_type=Debug
4040 - name : Configure project
41- run : cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage -fsanitize=address -fsanitize=undefined" -DWITH_CONAN=ON -DWITH_TESTS=ON
41+ run : cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage -fsanitize=address -fsanitize=undefined" -DWITH_CONAN=ON -DWITH_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake
4242 - name : Build tests
4343 run : cmake --build build --target caracal-test
4444 - name : Run tests
4545 run : sudo --preserve-env=CI build/caracal-test --benchmark-warmup-time 0 --benchmark-samples 1
4646 - name : Compute coverage
4747 run : gcovr --exclude-unreachable-branches --exclude-throw-branches --exclude apps --exclude extern --exclude tests --output coverage.xml --xml
48- - uses : codecov/codecov-action@v3
48+ - uses : codecov/codecov-action@v5
4949
5050 macos :
5151 runs-on : macos-latest
5252 steps :
53- - uses : actions/checkout@v3
54- - uses : actions/cache@v3
53+ - uses : actions/checkout@v4
54+ - name : Setup Conan Client
55+ uses : conan-io/setup-conan@v1
5556 with :
56- path : ~/.conan/data
57- key : tests-${{ runner.os }}-x86_64
57+ version : ' 2.21.0 '
58+ cache_packages : true
5859 - name : Install dependencies
59- run : brew install cmake gcovr ninja
60- - name : Install Conan
61- run : pip3 install "conan<2.0"
62- # For some unknown reasons bison fails to build on GitHub macOS 12 runners.
63- # However, if we call conan twice, it seems to work...¯\(◉‿◉)/¯
60+ run : brew install cmake gcovr ninja python3
61+ - name : Install Conan dependencies
62+ run : conan install . --output-folder=build --build=missing -s compiler=apple-clang -s compiler.version=17 -s compiler.cppstd=20 -s build_type=Debug
6463 - name : Configure project
65- run : |
66- cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage -fsanitize=address -fsanitize=undefined" -DWITH_CONAN=ON -DWITH_TESTS=ON || true
67- cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage -fsanitize=address -fsanitize=undefined" -DWITH_CONAN=ON -DWITH_TESTS=ON
64+ run : cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage -fsanitize=address -fsanitize=undefined" -DWITH_CONAN=ON -DWITH_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=build/conan_toolchain.cmake
6865 - name : Build tests
6966 run : cmake --build build --target caracal-test
7067 - name : Run tests
7168 run : sudo --preserve-env=CI build/caracal-test --benchmark-warmup-time 0 --benchmark-samples 1
7269 - name : Compute coverage
7370 run : gcovr --exclude-unreachable-branches --exclude-throw-branches --exclude apps --exclude extern --exclude tests --output coverage.xml --xml
74- - uses : codecov/codecov-action@v3
71+ - uses : codecov/codecov-action@v5
0 commit comments