1111 - " src/**"
1212 - " tests/**"
1313 - " scripts/**"
14- - " cmake/**"
1514 - " README.md"
15+ - " CHANGELOG.md"
1616 - " vix.json"
1717 pull_request :
1818 branches : [main, master, dev]
2424 - " src/**"
2525 - " tests/**"
2626 - " scripts/**"
27- - " cmake/**"
2827 - " README.md"
28+ - " CHANGELOG.md"
2929 - " vix.json"
3030 workflow_dispatch :
3131
4949 libspdlog-dev
5050 libfmt-dev
5151 libssl-dev
52+ git
5253 BUILD_JOBS : 2
54+ VIX_GIT_BRANCH : dev
5355
5456jobs :
5557 build-test-sanitized :
@@ -63,51 +65,47 @@ jobs:
6365 template_mode : [AUTO, OFF]
6466
6567 steps :
66- - name : Checkout repository
68+ - name : Checkout core repository
6769 uses : actions/checkout@v4
6870 with :
69- submodules : recursive
7071 fetch-depth : 0
7172
72- - name : Force submodule URLs to HTTPS
73+ - name : Install dependencies
7374 run : |
74- git config --global url."https://github.com/".insteadOf "git@github.com:"
75- git submodule sync --recursive
75+ sudo apt-get update -y
76+ sudo apt-get install -y $DEPS
7677
77- - name : Initialize submodules
78+ - name : Fetch sibling dependencies
7879 run : |
79- git submodule update --init --recursive --depth 1
80- echo "---- submodule status ----"
81- git submodule status --recursive || true
80+ rm -rf ../utils ../async ../json ../template
81+
82+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
83+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/async.git ../async
84+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
85+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
86+
8287 echo "---- repository root ----"
8388 pwd
84- echo "---- repository files ----"
85- ls -la || true
8689 echo "---- sibling dependencies ----"
8790 ls -la ../utils || true
8891 ls -la ../async || true
8992 ls -la ../json || true
9093 ls -la ../template || true
9194
92- - name : Verify required sibling modules
95+ - name : Verify required sibling dependencies
9396 run : |
9497 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
9598 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
9699 echo "Required sibling dependencies are present."
97100
98- - name : Install dependencies
99- run : |
100- sudo apt-get update -y
101- sudo apt-get install -y $DEPS
102-
103101 - name : Select compiler
104102 run : |
105103 if [ "${{ matrix.compiler }}" = "clang" ]; then
106- echo "CC=clang" >> $GITHUB_ENV
107- echo "CXX=clang++" >> $GITHUB_ENV
104+ echo "CC=clang" >> " $GITHUB_ENV"
105+ echo "CXX=clang++" >> " $GITHUB_ENV"
108106 else
109- echo "CC=gcc" >> $GITHUB_ENV
110- echo "CXX=g++" >> $GITHUB_ENV
107+ echo "CC=gcc" >> " $GITHUB_ENV"
108+ echo "CXX=g++" >> " $GITHUB_ENV"
111109 fi
112110
113111 - name : Configure
@@ -124,7 +122,7 @@ jobs:
124122
125123 - name : Build
126124 run : |
127- cmake --build build-sanitize -j${BUILD_JOBS}
125+ cmake --build build-sanitize -j" ${BUILD_JOBS}"
128126
129127 - name : Print executables
130128 run : |
@@ -148,32 +146,31 @@ jobs:
148146 runs-on : ubuntu-latest
149147
150148 steps :
151- - name : Checkout repository
149+ - name : Checkout core repository
152150 uses : actions/checkout@v4
153151 with :
154- submodules : recursive
155152 fetch-depth : 0
156153
157- - name : Force submodule URLs to HTTPS
154+ - name : Install dependencies
158155 run : |
159- git config --global url."https://github.com/".insteadOf "git@github.com:"
160- git submodule sync --recursive
156+ sudo apt-get update -y
157+ sudo apt-get install -y $DEPS
161158
162- - name : Initialize submodules
159+ - name : Fetch sibling dependencies
163160 run : |
164- git submodule update --init --recursive --depth 1
161+ rm -rf ../utils ../async ../json ../template
162+
163+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
164+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/async.git ../async
165+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
166+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
165167
166- - name : Verify required sibling modules
168+ - name : Verify required sibling dependencies
167169 run : |
168170 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
169171 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
170172 echo "Required sibling dependencies are present."
171173
172- - name : Install dependencies
173- run : |
174- sudo apt-get update -y
175- sudo apt-get install -y $DEPS
176-
177174 - name : Configure runtime build
178175 run : |
179176 cmake -G Ninja -S . -B build-runtime \
@@ -187,7 +184,7 @@ jobs:
187184
188185 - name : Build runtime artifacts
189186 run : |
190- cmake --build build-runtime -j${BUILD_JOBS}
187+ cmake --build build-runtime -j" ${BUILD_JOBS}"
191188
192189 - name : List candidate executables
193190 run : |
@@ -297,32 +294,31 @@ jobs:
297294 runs-on : ubuntu-latest
298295
299296 steps :
300- - name : Checkout repository
297+ - name : Checkout core repository
301298 uses : actions/checkout@v4
302299 with :
303- submodules : recursive
304300 fetch-depth : 0
305301
306- - name : Force submodule URLs to HTTPS
302+ - name : Install dependencies
307303 run : |
308- git config --global url."https://github.com/".insteadOf "git@github.com:"
309- git submodule sync --recursive
304+ sudo apt-get update -y
305+ sudo apt-get install -y $DEPS
310306
311- - name : Initialize submodules
307+ - name : Fetch sibling dependencies
312308 run : |
313- git submodule update --init --recursive --depth 1
309+ rm -rf ../utils ../async ../json ../template
310+
311+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
312+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/async.git ../async
313+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
314+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
314315
315- - name : Verify required sibling modules
316+ - name : Verify required sibling dependencies
316317 run : |
317318 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
318319 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
319320 echo "Required sibling dependencies are present."
320321
321- - name : Install dependencies
322- run : |
323- sudo apt-get update -y
324- sudo apt-get install -y $DEPS
325-
326322 - name : Configure for analysis
327323 run : |
328324 cmake -G Ninja -S . -B build-analyze \
@@ -371,32 +367,31 @@ jobs:
371367 timeout-minutes : 30
372368
373369 steps :
374- - name : Checkout repository
370+ - name : Checkout core repository
375371 uses : actions/checkout@v4
376372 with :
377- submodules : recursive
378373 fetch-depth : 0
379374
380- - name : Force submodule URLs to HTTPS
375+ - name : Install dependencies
381376 run : |
382- git config --global url."https://github.com/".insteadOf "git@github.com:"
383- git submodule sync --recursive
377+ sudo apt-get update -y
378+ sudo apt-get install -y $DEPS
384379
385- - name : Initialize submodules
380+ - name : Fetch sibling dependencies
386381 run : |
387- git submodule update --init --recursive --depth 1
382+ rm -rf ../utils ../async ../json ../template
383+
384+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
385+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/async.git ../async
386+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
387+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
388388
389- - name : Verify required sibling modules
389+ - name : Verify required sibling dependencies
390390 run : |
391391 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
392392 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
393393 echo "Required sibling dependencies are present."
394394
395- - name : Install dependencies
396- run : |
397- sudo apt-get update -y
398- sudo apt-get install -y $DEPS
399-
400395 - name : Configure valgrind build
401396 run : |
402397 cmake -G Ninja -S . -B build-valgrind \
@@ -410,7 +405,7 @@ jobs:
410405
411406 - name : Build
412407 run : |
413- cmake --build build-valgrind -j${BUILD_JOBS}
408+ cmake --build build-valgrind -j" ${BUILD_JOBS}"
414409
415410 - name : Run valgrind on test executables
416411 shell : bash
@@ -454,32 +449,31 @@ jobs:
454449 runs-on : ubuntu-latest
455450
456451 steps :
457- - name : Checkout repository
452+ - name : Checkout core repository
458453 uses : actions/checkout@v4
459454 with :
460- submodules : recursive
461455 fetch-depth : 0
462456
463- - name : Force submodule URLs to HTTPS
457+ - name : Install dependencies
464458 run : |
465- git config --global url."https://github.com/".insteadOf "git@github.com:"
466- git submodule sync --recursive
459+ sudo apt-get update -y
460+ sudo apt-get install -y $DEPS
467461
468- - name : Initialize submodules
462+ - name : Fetch sibling dependencies
469463 run : |
470- git submodule update --init --recursive --depth 1
464+ rm -rf ../utils ../async ../json ../template
465+
466+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
467+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/async.git ../async
468+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
469+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
471470
472- - name : Verify required sibling modules
471+ - name : Verify required sibling dependencies
473472 run : |
474473 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
475474 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
476475 echo "Required sibling dependencies are present."
477476
478- - name : Install dependencies
479- run : |
480- sudo apt-get update -y
481- sudo apt-get install -y $DEPS
482-
483477 - name : Configure release mode
484478 run : |
485479 cmake -G Ninja -S . -B build-release \
@@ -493,7 +487,7 @@ jobs:
493487
494488 - name : Build release mode
495489 run : |
496- cmake --build build-release -j${BUILD_JOBS}
490+ cmake --build build-release -j" ${BUILD_JOBS}"
497491
498492 - name : Configure bench mode
499493 run : |
@@ -508,7 +502,7 @@ jobs:
508502
509503 - name : Build bench mode
510504 run : |
511- cmake --build build-bench -j${BUILD_JOBS}
505+ cmake --build build-bench -j" ${BUILD_JOBS}"
512506
513507 summary :
514508 name : Core Strict CI Summary
0 commit comments