Skip to content

Commit d5acdfd

Browse files
committed
ci(core): fetch standalone dependencies and fix strict CI
1 parent 0ce9d6d commit d5acdfd

File tree

1 file changed

+74
-80
lines changed

1 file changed

+74
-80
lines changed

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

Lines changed: 74 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ on:
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]
@@ -24,8 +24,8 @@ on:
2424
- "src/**"
2525
- "tests/**"
2626
- "scripts/**"
27-
- "cmake/**"
2827
- "README.md"
28+
- "CHANGELOG.md"
2929
- "vix.json"
3030
workflow_dispatch:
3131

@@ -49,7 +49,9 @@ env:
4949
libspdlog-dev
5050
libfmt-dev
5151
libssl-dev
52+
git
5253
BUILD_JOBS: 2
54+
VIX_GIT_BRANCH: dev
5355

5456
jobs:
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

Comments
 (0)