@@ -83,23 +83,23 @@ jobs:
8383 sudo apt-get install -y $DEPS
8484 test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
8585
86- - name : Prepare Asio layout for local core builds
86+ - name : Prepare Asio layout for local async/ core builds
8787 run : |
8888 set -e
89- mkdir -p ../async/third_party/asio/include || true
9089 mkdir -p /tmp/vix-asio/include
9190 cp -r /usr/include/asio* /tmp/vix-asio/include/ || true
9291 test -f /tmp/vix-asio/include/asio.hpp || (echo "::error::System Asio headers copy failed"; exit 1)
9392
9493 - name : Fetch sibling dependencies
9594 run : |
96- rm -rf ../core ../utils ../async ../json ../template
95+ rm -rf ../core ../utils ../async ../json ../template ../p2p
9796
9897 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/core.git ../core
9998 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
10099 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
101100 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
102101 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
102+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/p2p.git ../p2p
103103
104104 git -C ../async submodule update --init --recursive --depth 1 || true
105105
@@ -114,16 +114,18 @@ jobs:
114114 ls -la ../async/third_party/asio/include || true
115115 ls -la ../json || true
116116 ls -la ../template || true
117+ ls -la ../p2p || true
117118
118119 - name : Verify required sibling dependencies
119120 run : |
120121 test -f ../core/CMakeLists.txt || (echo "::error::../core/CMakeLists.txt is missing"; exit 1)
121122 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
122123 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
124+ test -f ../p2p/CMakeLists.txt || (echo "::error::../p2p/CMakeLists.txt is missing"; exit 1)
123125
124126 - name : Export dependency include paths
125127 run : |
126- EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include"
128+ EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include:$GITHUB_WORKSPACE/../p2p/include "
127129 if [ -d "$GITHUB_WORKSPACE/../json/include" ]; then
128130 EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../json/include"
129131 fi
@@ -175,7 +177,7 @@ jobs:
175177 sudo apt-get install -y $DEPS
176178 test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
177179
178- - name : Prepare Asio layout for local core builds
180+ - name : Prepare Asio layout for local async/ core builds
179181 run : |
180182 set -e
181183 mkdir -p /tmp/vix-asio/include
@@ -184,13 +186,14 @@ jobs:
184186
185187 - name : Fetch sibling dependencies
186188 run : |
187- rm -rf ../core ../utils ../async ../json ../template
189+ rm -rf ../core ../utils ../async ../json ../template ../p2p
188190
189191 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/core.git ../core
190192 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
191193 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
192194 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
193195 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
196+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/p2p.git ../p2p
194197
195198 git -C ../async submodule update --init --recursive --depth 1 || true
196199
@@ -203,10 +206,11 @@ jobs:
203206 test -f ../core/CMakeLists.txt || (echo "::error::../core/CMakeLists.txt is missing"; exit 1)
204207 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
205208 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
209+ test -f ../p2p/CMakeLists.txt || (echo "::error::../p2p/CMakeLists.txt is missing"; exit 1)
206210
207211 - name : Export dependency include paths
208212 run : |
209- EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include"
213+ EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include:$GITHUB_WORKSPACE/../p2p/include "
210214 if [ -d "$GITHUB_WORKSPACE/../json/include" ]; then
211215 EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../json/include"
212216 fi
@@ -282,7 +286,7 @@ jobs:
282286 sudo apt-get install -y $DEPS
283287 test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
284288
285- - name : Prepare Asio layout for local core builds
289+ - name : Prepare Asio layout for local async/ core builds
286290 run : |
287291 set -e
288292 mkdir -p /tmp/vix-asio/include
@@ -291,13 +295,14 @@ jobs:
291295
292296 - name : Fetch sibling dependencies
293297 run : |
294- rm -rf ../core ../utils ../async ../json ../template
298+ rm -rf ../core ../utils ../async ../json ../template ../p2p
295299
296300 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/core.git ../core
297301 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
298302 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
299303 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
300304 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
305+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/p2p.git ../p2p
301306
302307 git -C ../async submodule update --init --recursive --depth 1 || true
303308
@@ -310,10 +315,11 @@ jobs:
310315 test -f ../core/CMakeLists.txt || (echo "::error::../core/CMakeLists.txt is missing"; exit 1)
311316 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
312317 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
318+ test -f ../p2p/CMakeLists.txt || (echo "::error::../p2p/CMakeLists.txt is missing"; exit 1)
313319
314320 - name : Export dependency include paths
315321 run : |
316- EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include"
322+ EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include:$GITHUB_WORKSPACE/../p2p/include "
317323 if [ -d "$GITHUB_WORKSPACE/../json/include" ]; then
318324 EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../json/include"
319325 fi
@@ -380,7 +386,7 @@ jobs:
380386 sudo apt-get install -y $DEPS
381387 test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
382388
383- - name : Prepare Asio layout for local core builds
389+ - name : Prepare Asio layout for local async/ core builds
384390 run : |
385391 set -e
386392 mkdir -p /tmp/vix-asio/include
@@ -389,13 +395,14 @@ jobs:
389395
390396 - name : Fetch sibling dependencies
391397 run : |
392- rm -rf ../core ../utils ../async ../json ../template
398+ rm -rf ../core ../utils ../async ../json ../template ../p2p
393399
394400 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/core.git ../core
395401 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
396402 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
397403 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
398404 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
405+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/p2p.git ../p2p
399406
400407 git -C ../async submodule update --init --recursive --depth 1 || true
401408
@@ -408,10 +415,11 @@ jobs:
408415 test -f ../core/CMakeLists.txt || (echo "::error::../core/CMakeLists.txt is missing"; exit 1)
409416 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
410417 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
418+ test -f ../p2p/CMakeLists.txt || (echo "::error::../p2p/CMakeLists.txt is missing"; exit 1)
411419
412420 - name : Export dependency include paths
413421 run : |
414- EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include"
422+ EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include:$GITHUB_WORKSPACE/../p2p/include "
415423 if [ -d "$GITHUB_WORKSPACE/../json/include" ]; then
416424 EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../json/include"
417425 fi
@@ -472,7 +480,7 @@ jobs:
472480 sudo apt-get install -y $DEPS
473481 test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
474482
475- - name : Prepare Asio layout for local core builds
483+ - name : Prepare Asio layout for local async/ core builds
476484 run : |
477485 set -e
478486 mkdir -p /tmp/vix-asio/include
@@ -481,13 +489,14 @@ jobs:
481489
482490 - name : Fetch sibling dependencies
483491 run : |
484- rm -rf ../core ../utils ../async ../json ../template
492+ rm -rf ../core ../utils ../async ../json ../template ../p2p
485493
486494 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/core.git ../core
487495 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
488496 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
489497 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
490498 git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
499+ git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/p2p.git ../p2p
491500
492501 git -C ../async submodule update --init --recursive --depth 1 || true
493502
@@ -500,10 +509,11 @@ jobs:
500509 test -f ../core/CMakeLists.txt || (echo "::error::../core/CMakeLists.txt is missing"; exit 1)
501510 test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
502511 test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
512+ test -f ../p2p/CMakeLists.txt || (echo "::error::../p2p/CMakeLists.txt is missing"; exit 1)
503513
504514 - name : Export dependency include paths
505515 run : |
506- EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include"
516+ EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include:$GITHUB_WORKSPACE/../p2p/include "
507517 if [ -d "$GITHUB_WORKSPACE/../json/include" ]; then
508518 EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../json/include"
509519 fi
@@ -531,108 +541,6 @@ jobs:
531541 - name : Verify installed package files
532542 run : |
533543 echo "---- install tree ----"
534- find .ci-install -maxdepth 6 -type f | sort || true
535- test -f .ci-install/bin/vix || (echo "::error::installed vix binary not found"; exit 1)
536-
537- config-coverage :
538- name : Configuration Coverage
539- runs-on : ubuntu-latest
540-
541- steps :
542- - name : Checkout cli repository
543- uses : actions/checkout@v4
544- with :
545- fetch-depth : 0
546-
547- - name : Install dependencies
548- run : |
549- sudo apt-get update -y
550- sudo apt-get install -y $DEPS
551- test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
552-
553- - name : Prepare Asio layout for local core builds
554- run : |
555- set -e
556- mkdir -p /tmp/vix-asio/include
557- cp -r /usr/include/asio* /tmp/vix-asio/include/ || true
558- test -f /tmp/vix-asio/include/asio.hpp || (echo "::error::System Asio headers copy failed"; exit 1)
559-
560- - name : Fetch sibling dependencies
561- run : |
562- rm -rf ../core ../utils ../async ../json ../template
563-
564- git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/core.git ../core
565- git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/utils.git ../utils
566- git clone --depth 1 --branch "${VIX_GIT_BRANCH}" --recurse-submodules https://github.com/vixcpp/async.git ../async
567- git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
568- git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/template.git ../template || true
569-
570- git -C ../async submodule update --init --recursive --depth 1 || true
571-
572- mkdir -p ../async/third_party/asio
573- rm -rf ../async/third_party/asio/include
574- cp -r /tmp/vix-asio/include ../async/third_party/asio/
575-
576- - name : Verify required sibling dependencies
577- run : |
578- test -f ../core/CMakeLists.txt || (echo "::error::../core/CMakeLists.txt is missing"; exit 1)
579- test -f ../utils/CMakeLists.txt || (echo "::error::../utils/CMakeLists.txt is missing"; exit 1)
580- test -f ../async/CMakeLists.txt || (echo "::error::../async/CMakeLists.txt is missing"; exit 1)
581-
582- - name : Export dependency include paths
583- run : |
584- EXTRA_PATHS="$GITHUB_WORKSPACE/../core/include:$GITHUB_WORKSPACE/../utils/include:$GITHUB_WORKSPACE/../async/include"
585- if [ -d "$GITHUB_WORKSPACE/../json/include" ]; then
586- EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../json/include"
587- fi
588- if [ -d "$GITHUB_WORKSPACE/../template/include" ]; then
589- EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../template/include"
590- fi
591- echo "CPATH=$EXTRA_PATHS${CPATH:+:$CPATH}" >> "$GITHUB_ENV"
592- echo "CPLUS_INCLUDE_PATH=$EXTRA_PATHS${CPLUS_INCLUDE_PATH:+:$CPLUS_INCLUDE_PATH}" >> "$GITHUB_ENV"
593-
594- - name : Configure release mode without LTO
595- run : |
596- cmake -G Ninja -S . -B build-release-min \
597- -DCMAKE_BUILD_TYPE=Release \
598- -DVIX_ENABLE_LTO=OFF
599-
600- - name : Build release mode without LTO
601- run : |
602- cmake --build build-release-min -j"${BUILD_JOBS}"
603-
604- - name : Configure release mode with LTO
605- run : |
606- cmake -G Ninja -S . -B build-release-lto \
607- -DCMAKE_BUILD_TYPE=Release \
608- -DVIX_ENABLE_LTO=ON
609-
610- - name : Build release mode with LTO
611- run : |
612- cmake --build build-release-lto -j"${BUILD_JOBS}"
613-
614- summary :
615- name : CLI Strict CI Summary
616- needs :
617- [
618- build,
619- runtime-smoke,
620- static-analysis,
621- valgrind,
622- standalone-package-check,
623- config-coverage,
624- ]
625- runs-on : ubuntu-latest
626-
627- steps :
628- - name : Print summary
629- run : |
630- echo "CLI strict CI completed."
631- echo "This workflow validates:"
632- echo "- debug builds"
633- echo "- runtime help/version smoke checks"
634- echo "- static analysis"
635- echo "- valgrind"
636- echo "- standalone package install"
637- echo "- release mode"
638- echo "- release LTO mode"
544+ find .ci-install -maxdepth 8 -type f | sort || true
545+ test -f .ci-install/include/vix/cli/CLI.hpp || (echo "::error::cli headers not found"; exit 1)
546+ test -f .ci-install/bin/vix || (echo "::error::vix binary not found in install tree"; exit 1)
0 commit comments