Skip to content

Commit 1eaf86a

Browse files
committed
fix(ci): add p2p sibling dependency to cli strict CI
2 parents 4c3bb46 + 7800d0c commit 1eaf86a

1 file changed

Lines changed: 29 additions & 121 deletions

File tree

.github/workflows/cli-strict-ci.yml

Lines changed: 29 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)