66 branches : [main]
77 workflow_dispatch :
88
9+ concurrency :
10+ # Only cancel in-progress jobs or runs for the current workflow - matches against branch & tags
11+ group : ${{ github.workflow }}-${{ github.ref }}
12+ cancel-in-progress : true
13+
914jobs :
1015 build-and-test :
11- runs-on : heavy
12- container : ghcr.io/xrplf/clio-ci:14342e087ceb8b593027198bf9ef06a43833c696
13-
1416 strategy :
17+ fail-fast : false
1518 matrix :
16- conan_profile : [gcc, clang]
19+ compiler : [gcc, clang]
20+ sanitizer_ext : [.asan, .tsan, .ubsan]
1721 build_type : [Release, Debug]
22+ os : [heavy, heavy-arm64]
23+ container :
24+ [
25+ ' { "image": "ghcr.io/xrplf/clio-ci:14342e087ceb8b593027198bf9ef06a43833c696" }' ,
26+ ]
27+
28+ include :
29+ - compiler : apple-clang
30+ build_type : Release
31+ os : macos15
32+ - compiler : apple-clang
33+ build_type : Debug
34+ os : macos15
35+
36+ runs-on : ${{ matrix.os }}
37+ container : ${{ matrix.container != '' && fromJson(matrix.container) || null }}
38+ timeout-minutes : 10
1839
1940 env :
2041 BUILD_DIR : build
@@ -34,17 +55,24 @@ jobs:
3455 with :
3556 enable_ccache : false
3657
58+ - name : Set up Conan (macOS)
59+ if : ${{ runner.os == 'macOS' }}
60+ run : |
61+ conan remote add --index 0 xrplf https://conan.ripplex.io
62+
63+ mkdir -p "${CONAN_HOME}"/profiles/
64+ cp .github/scripts/conan/apple-clang.profile "${CONAN_HOME}"/profiles/apple-clang
65+
3766 - name : Run Conan
3867 env :
39- CONAN_PROFILE : ${{ matrix.conan_profile }}
68+ CONAN_PROFILE : ${{ matrix.compiler }}${{ matrix.sanitizer_ext }}
4069 run : |
41- conan \
42- install . \
43- -of "${BUILD_DIR}" \
44- -b missing \
45- -s "build_type=${BUILD_TYPE}" \
46- -o "&:with_tests=True" \
47- --profile:all "${CONAN_PROFILE}"
70+ conan install . \
71+ -of "${BUILD_DIR}" \
72+ -b missing \
73+ -s "build_type=${BUILD_TYPE}" \
74+ -o "&:with_tests=True" \
75+ --profile:all "${CONAN_PROFILE}"
4876
4977 - name : Run CMake
5078 run : |
0 commit comments