4545 clang-tidy
4646 valgrind
4747 pkg-config
48+ git
49+ libasio-dev
4850 nlohmann-json3-dev
4951 libspdlog-dev
5052 libfmt-dev
5153 libssl-dev
52- git
5354 BUILD_JOBS : 2
5455 VIX_GIT_BRANCH : dev
5556
@@ -74,28 +75,42 @@ jobs:
7475 run : |
7576 sudo apt-get update -y
7677 sudo apt-get install -y $DEPS
78+ test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
7779
7880 - name : Fetch sibling dependencies
7981 run : |
8082 rm -rf ../utils ../async ../json ../template
8183
8284 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
85+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
8486 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
8587 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
8688
89+ git -C ../async submodule update --init --recursive --depth 1 || true
90+
8791 echo "---- repository root ----"
8892 pwd
8993 echo "---- sibling dependencies ----"
9094 ls -la ../utils || true
9195 ls -la ../async || true
96+ ls -la ../async/third_party || true
97+ ls -la ../async/third_party/asio || true
98+ ls -la ../async/third_party/asio/include || true
9299 ls -la ../json || true
93100 ls -la ../template || true
94101
95102 - name : Verify required sibling dependencies
96103 run : |
97104 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
98105 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
106+ if [ -f ../async/third_party/asio/include/asio.hpp ]; then
107+ echo "Vendored Asio found in async."
108+ elif [ -f /usr/include/asio.hpp ]; then
109+ echo "System Asio found."
110+ else
111+ echo "::error::Neither vendored Asio nor system Asio was found."
112+ exit 1
113+ fi
99114 echo "Required sibling dependencies are present."
100115
101116 - name : Select compiler
@@ -155,21 +170,29 @@ jobs:
155170 run : |
156171 sudo apt-get update -y
157172 sudo apt-get install -y $DEPS
173+ test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
158174
159175 - name : Fetch sibling dependencies
160176 run : |
161177 rm -rf ../utils ../async ../json ../template
162178
163179 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
180+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
165181 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
166182 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
167183
184+ git -C ../async submodule update --init --recursive --depth 1 || true
185+
168186 - name : Verify required sibling dependencies
169187 run : |
170188 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
171189 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
172- echo "Required sibling dependencies are present."
190+ if [ -f ../async/third_party/asio/include/asio.hpp ] || [ -f /usr/include/asio.hpp ]; then
191+ echo "Asio is available."
192+ else
193+ echo "::error::Asio is not available for async."
194+ exit 1
195+ fi
173196
174197 - name : Configure runtime build
175198 run : |
@@ -303,21 +326,29 @@ jobs:
303326 run : |
304327 sudo apt-get update -y
305328 sudo apt-get install -y $DEPS
329+ test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
306330
307331 - name : Fetch sibling dependencies
308332 run : |
309333 rm -rf ../utils ../async ../json ../template
310334
311335 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
336+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
313337 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
314338 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
315339
340+ git -C ../async submodule update --init --recursive --depth 1 || true
341+
316342 - name : Verify required sibling dependencies
317343 run : |
318344 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
319345 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
320- echo "Required sibling dependencies are present."
346+ if [ -f ../async/third_party/asio/include/asio.hpp ] || [ -f /usr/include/asio.hpp ]; then
347+ echo "Asio is available."
348+ else
349+ echo "::error::Asio is not available for async."
350+ exit 1
351+ fi
321352
322353 - name : Configure for analysis
323354 run : |
@@ -376,21 +407,29 @@ jobs:
376407 run : |
377408 sudo apt-get update -y
378409 sudo apt-get install -y $DEPS
410+ test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
379411
380412 - name : Fetch sibling dependencies
381413 run : |
382414 rm -rf ../utils ../async ../json ../template
383415
384416 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
417+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
386418 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
387419 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
388420
421+ git -C ../async submodule update --init --recursive --depth 1 || true
422+
389423 - name : Verify required sibling dependencies
390424 run : |
391425 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
392426 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
393- echo "Required sibling dependencies are present."
427+ if [ -f ../async/third_party/asio/include/asio.hpp ] || [ -f /usr/include/asio.hpp ]; then
428+ echo "Asio is available."
429+ else
430+ echo "::error::Asio is not available for async."
431+ exit 1
432+ fi
394433
395434 - name : Configure valgrind build
396435 run : |
@@ -458,21 +497,29 @@ jobs:
458497 run : |
459498 sudo apt-get update -y
460499 sudo apt-get install -y $DEPS
500+ test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
461501
462502 - name : Fetch sibling dependencies
463503 run : |
464504 rm -rf ../utils ../async ../json ../template
465505
466506 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
507+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
468508 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
469509 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
470510
511+ git -C ../async submodule update --init --recursive --depth 1 || true
512+
471513 - name : Verify required sibling dependencies
472514 run : |
473515 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
474516 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
475- echo "Required sibling dependencies are present."
517+ if [ -f ../async/third_party/asio/include/asio.hpp ] || [ -f /usr/include/asio.hpp ]; then
518+ echo "Asio is available."
519+ else
520+ echo "::error::Asio is not available for async."
521+ exit 1
522+ fi
476523
477524 - name : Configure release mode
478525 run : |
0 commit comments