Skip to content

Commit 147f365

Browse files
committed
ci(p2p): add strict CI for standalone repository
2 parents 9c13779 + c7c6721 commit 147f365

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

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

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,18 @@ jobs:
7373
run: |
7474
sudo apt-get update -y
7575
sudo apt-get install -y $DEPS
76+
77+
- name: Prepare Asio layout for p2p
78+
run: |
79+
set -e
7680
test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
81+
mkdir -p third_party/asio/include
82+
cp -r /usr/include/asio* third_party/asio/include/ || true
83+
test -f third_party/asio/include/asio.hpp || (echo "::error::Failed to prepare third_party/asio/include/asio.hpp"; exit 1)
84+
echo "---- prepared asio layout ----"
85+
ls -la third_party || true
86+
ls -la third_party/asio || true
87+
ls -la third_party/asio/include || true
7788
7889
- name: Fetch sibling dependencies
7990
run: |
@@ -85,6 +96,13 @@ jobs:
8596
git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/cache.git ../cache || true
8697
git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
8798
99+
echo "---- sibling dependencies ----"
100+
ls -la ../net || true
101+
ls -la ../utils || true
102+
ls -la ../sync || true
103+
ls -la ../cache || true
104+
ls -la ../json || true
105+
88106
- name: Verify required sibling dependencies
89107
run: |
90108
test -f ../net/CMakeLists.txt || (echo "::error::../net/CMakeLists.txt is missing"; exit 1)
@@ -169,7 +187,14 @@ jobs:
169187
run: |
170188
sudo apt-get update -y
171189
sudo apt-get install -y $DEPS
190+
191+
- name: Prepare Asio layout for p2p
192+
run: |
193+
set -e
172194
test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
195+
mkdir -p third_party/asio/include
196+
cp -r /usr/include/asio* third_party/asio/include/ || true
197+
test -f third_party/asio/include/asio.hpp || (echo "::error::Failed to prepare third_party/asio/include/asio.hpp"; exit 1)
173198
174199
- name: Fetch sibling dependencies
175200
run: |
@@ -281,7 +306,14 @@ jobs:
281306
run: |
282307
sudo apt-get update -y
283308
sudo apt-get install -y $DEPS
309+
310+
- name: Prepare Asio layout for p2p
311+
run: |
312+
set -e
284313
test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
314+
mkdir -p third_party/asio/include
315+
cp -r /usr/include/asio* third_party/asio/include/ || true
316+
test -f third_party/asio/include/asio.hpp || (echo "::error::Failed to prepare third_party/asio/include/asio.hpp"; exit 1)
285317
286318
- name: Fetch sibling dependencies
287319
run: |
@@ -377,7 +409,14 @@ jobs:
377409
run: |
378410
sudo apt-get update -y
379411
sudo apt-get install -y $DEPS
412+
413+
- name: Prepare Asio layout for p2p
414+
run: |
415+
set -e
380416
test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
417+
mkdir -p third_party/asio/include
418+
cp -r /usr/include/asio* third_party/asio/include/ || true
419+
test -f third_party/asio/include/asio.hpp || (echo "::error::Failed to prepare third_party/asio/include/asio.hpp"; exit 1)
381420
382421
- name: Fetch sibling dependencies
383422
run: |
@@ -487,7 +526,14 @@ jobs:
487526
run: |
488527
sudo apt-get update -y
489528
sudo apt-get install -y $DEPS
529+
530+
- name: Prepare Asio layout for p2p
531+
run: |
532+
set -e
490533
test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
534+
mkdir -p third_party/asio/include
535+
cp -r /usr/include/asio* third_party/asio/include/ || true
536+
test -f third_party/asio/include/asio.hpp || (echo "::error::Failed to prepare third_party/asio/include/asio.hpp"; exit 1)
491537
492538
- name: Configure installable standalone build
493539
run: |
@@ -529,7 +575,14 @@ jobs:
529575
run: |
530576
sudo apt-get update -y
531577
sudo apt-get install -y $DEPS
578+
579+
- name: Prepare Asio layout for p2p
580+
run: |
581+
set -e
532582
test -f /usr/include/asio.hpp || (echo "::error::System Asio header not found after install"; exit 1)
583+
mkdir -p third_party/asio/include
584+
cp -r /usr/include/asio* third_party/asio/include/ || true
585+
test -f third_party/asio/include/asio.hpp || (echo "::error::Failed to prepare third_party/asio/include/asio.hpp"; exit 1)
533586
534587
- name: Fetch sibling dependencies
535588
run: |
@@ -541,6 +594,28 @@ jobs:
541594
git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/cache.git ../cache || true
542595
git clone --depth 1 --branch "${VIX_GIT_BRANCH}" https://github.com/vixcpp/json.git ../json || true
543596
597+
- name: Verify required sibling dependencies
598+
run: |
599+
test -f ../net/CMakeLists.txt || (echo "::error::../net/CMakeLists.txt is missing"; exit 1)
600+
601+
- name: Export dependency include paths
602+
run: |
603+
EXTRA_PATHS="$GITHUB_WORKSPACE/../net/include"
604+
if [ -d "$GITHUB_WORKSPACE/../utils/include" ]; then
605+
EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../utils/include"
606+
fi
607+
if [ -d "$GITHUB_WORKSPACE/../sync/include" ]; then
608+
EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../sync/include"
609+
fi
610+
if [ -d "$GITHUB_WORKSPACE/../cache/include" ]; then
611+
EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../cache/include"
612+
fi
613+
if [ -d "$GITHUB_WORKSPACE/../json/include" ]; then
614+
EXTRA_PATHS="$EXTRA_PATHS:$GITHUB_WORKSPACE/../json/include"
615+
fi
616+
echo "CPATH=$EXTRA_PATHS${CPATH:+:$CPATH}" >> "$GITHUB_ENV"
617+
echo "CPLUS_INCLUDE_PATH=$EXTRA_PATHS${CPLUS_INCLUDE_PATH:+:$CPLUS_INCLUDE_PATH}" >> "$GITHUB_ENV"
618+
544619
- name: Configure release mode with sibling deps
545620
run: |
546621
cmake -G Ninja -S . -B build-release-local \

0 commit comments

Comments
 (0)