Skip to content

Commit 5d3f45c

Browse files
v2.8.3 (#732)
* feat: add Vix Engine module * build: integrate engine module before cli * build: update engine graph integration * build: update engine scheduler integration * build: integrate engine process execution * build: update engine object cache integration * build: update engine graph executor integration * build: update engine artifact cache integration * build: update execution plan integration * build: update engine toolchain integration. * build: update configuration planning integration * build: integrate build watch tests * fix(cli): preserve local Vix SDK discovery * style(cli): simplify build watch output * feat: add fast incremental build watch mode * chore(release): prepare Vix v2.8.0 * chore(release): update module dependency fixes * chore(release): update io console test fix * chore(release): update log standalone dependency fix * feat: add realtime module * feat: prepare Vix v2.8.0 realtime release * feat: add realtime module and sanitizer build support * fix: update modules for v2.8.0 release * ci: update CLI strict analysis checks * fix(ci): make umbrella tests explicit and provide GTest * fix(ci): stabilize CLI and WebSocket sanitizer tests * fix(cli): update script compiler and progress tests * fix(threadpool): stabilize stats test synchronization * ci: improve build safety workflow diagnostics * chore: refresh threadpool module reference * ci: improve module test diagnostics and valgrind filtering * ci: add diagnostics for CLI git tests * ci: quarantine unstable CLI git tests on hosted runners
1 parent bab3896 commit 5d3f45c

17 files changed

Lines changed: 674 additions & 20 deletions

.github/workflows/MODULE_TESTS_CI.yml

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ env:
5454
libspdlog-dev
5555
libfmt-dev
5656
libmysqlcppconn-dev
57+
libgtest-dev
5758
BUILD_JOBS: 2
5859

5960
jobs:
6061
umbrella-tests:
6162
name: Umbrella Tests (${{ matrix.compiler }})
6263
runs-on: ubuntu-latest
64+
timeout-minutes: 90
6365

6466
strategy:
6567
fail-fast: false
@@ -90,6 +92,7 @@ jobs:
9092
test -f modules/ui/CMakeLists.txt
9193
test -f modules/note/CMakeLists.txt
9294
test -f modules/requests/CMakeLists.txt
95+
test -f modules/realtime/CMakeLists.txt
9396
9497
- name: Select compiler
9598
run: |
@@ -148,6 +151,11 @@ jobs:
148151
-DVIX_ENABLE_REQUESTS=ON \
149152
-DVIX_REQUESTS_BUILD_TESTS=ON \
150153
-DVIX_REQUESTS_BUILD_EXAMPLES=OFF \
154+
-DVIX_ENABLE_REALTIME=ON \
155+
-DVIX_REALTIME_BUILD_TESTS=ON \
156+
-DVIX_REALTIME_BUILD_EXAMPLES=OFF \
157+
-DVIX_REALTIME_WITH_WEBSOCKET=ON \
158+
-DVIX_REALTIME_WITH_POSTGRES=OFF \
151159
-DVIX_ENABLE_VALIDATION=ON \
152160
-DVIX_ENABLE_CACHE=ON \
153161
-DVIX_ENABLE_P2P=ON \
@@ -181,11 +189,26 @@ jobs:
181189
182190
- name: Run tests
183191
run: |
184-
ctest --test-dir build-tests --output-on-failure
192+
set -euxo pipefail
193+
194+
echo "=== Runner resources ==="
195+
free -h
196+
df -h
197+
nproc
198+
ulimit -a
199+
200+
stdbuf -oL -eL ctest \
201+
--test-dir build-tests \
202+
--output-on-failure \
203+
--parallel 1 \
204+
--timeout 180 \
205+
-E '^(vix_cli_git_dependencies|vix_cli_init_and_auto_git)$' \
206+
-V
185207
186208
module-tests-light:
187209
name: Module Tests Light Profile
188210
runs-on: ubuntu-latest
211+
timeout-minutes: 60
189212

190213
steps:
191214
- name: Checkout umbrella repository
@@ -211,6 +234,7 @@ jobs:
211234
test -f modules/ui/CMakeLists.txt
212235
test -f modules/note/CMakeLists.txt
213236
test -f modules/requests/CMakeLists.txt
237+
test -f modules/realtime/CMakeLists.txt
214238
215239
- name: Configure light module tests
216240
run: |
@@ -264,7 +288,12 @@ jobs:
264288
-DVIX_ENABLE_WEBSOCKET=OFF \
265289
-DVIX_ENABLE_REQUESTS=ON \
266290
-DVIX_REQUESTS_BUILD_TESTS=ON \
267-
-DVIX_REQUESTS_BUILD_EXAMPLES=OFF
291+
-DVIX_REQUESTS_BUILD_EXAMPLES=OFF \
292+
-DVIX_ENABLE_REALTIME=ON \
293+
-DVIX_REALTIME_BUILD_TESTS=ON \
294+
-DVIX_REALTIME_BUILD_EXAMPLES=OFF \
295+
-DVIX_REALTIME_WITH_WEBSOCKET=OFF \
296+
-DVIX_REALTIME_WITH_POSTGRES=OFF
268297
269298
- name: Build light module tests
270299
run: |
@@ -281,4 +310,17 @@ jobs:
281310
282311
- name: Run light module tests
283312
run: |
284-
ctest --test-dir build-module-light --output-on-failure
313+
set -euxo pipefail
314+
315+
echo "=== Runner resources ==="
316+
free -h
317+
df -h
318+
nproc
319+
ulimit -a
320+
321+
stdbuf -oL -eL ctest \
322+
--test-dir build-module-light \
323+
--output-on-failure \
324+
--parallel 1 \
325+
--timeout 180 \
326+
-V

.github/workflows/SECURITY_CI.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ env:
7575
libfmt-dev
7676
libmysqlcppconn-dev
7777
libgtk-3-dev
78+
libgtest-dev
7879
7980
BUILD_JOBS: 2
8081

@@ -359,8 +360,20 @@ jobs:
359360
- name: Run module tests
360361
run: |
361362
set -euxo pipefail
362-
ctest --test-dir build-tests --output-on-failure --timeout 180
363363
364+
echo "=== Resources before module tests ==="
365+
free -h
366+
df -h
367+
ulimit -a
368+
nproc
369+
370+
stdbuf -oL -eL ctest \
371+
--test-dir build-tests \
372+
--output-on-failure \
373+
--parallel 1 \
374+
--timeout 180 \
375+
-E '^(vix_cli_git_dependencies|vix_cli_init_and_auto_git)$' \
376+
-V
364377
sanitized-module-tests:
365378
name: Sanitized Module Tests
366379
runs-on: ubuntu-latest
@@ -426,11 +439,11 @@ jobs:
426439
- name: Run sanitized module tests
427440
run: |
428441
set -euxo pipefail
442+
429443
ctest --test-dir build-san-tests \
430444
--output-on-failure \
431445
--timeout 180 \
432-
-E "^ShutdownTest$"
433-
446+
-E "^(ShutdownTest|vix_cli_git_dependencies|vix_cli_init_and_auto_git)$"
434447
runtime-smoke:
435448
name: Runtime Smoke and CLI Checks
436449
runs-on: ubuntu-latest
@@ -730,7 +743,7 @@ jobs:
730743
! -path '*/CMakeFiles/*' \
731744
! -path '*/_deps/*' \
732745
| grep -E '(^|/)([^/]*test[^/]*|[^/]*tests[^/]*)$' \
733-
| grep -Ev '(_bench|benchmark|cmake|ctest|vix$|vix_cli$|ScopeTest$|ShutdownTest$|TaskCancellationTest$|ThreadPoolTest$|runtime_worker_test$)' \
746+
| grep -Ev '(_bench|benchmark|cmake|ctest|vix$|vix_cli$|ScopeTest$|ShutdownTest$|TaskCancellationTest$|ThreadPoolTest$|runtime_worker_test$|websocket_metrics_server_lifecycle_test$|websocket_metrics_server_request_test$)' \
734747
| sort -u
735748
)
736749

.github/workflows/build-safety.yml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,30 @@ on:
1212
- dev
1313
- release/**
1414

15+
permissions:
16+
contents: read
17+
18+
concurrency:
19+
group: build-safety-${{ github.workflow }}-${{ github.ref }}
20+
cancel-in-progress: true
21+
1522
jobs:
1623
build-safety:
24+
name: Build safety (Ubuntu)
1725
runs-on: ubuntu-latest
26+
timeout-minutes: 45
1827

1928
steps:
20-
- name: Checkout
29+
- name: Checkout repository
2130
uses: actions/checkout@v4
2231
with:
2332
submodules: recursive
2433
fetch-depth: 0
2534

2635
- name: Install system dependencies
2736
run: |
37+
set -euxo pipefail
38+
2839
sudo apt-get update
2940
sudo apt-get install -y --no-install-recommends \
3041
build-essential \
@@ -58,6 +69,8 @@ jobs:
5869
5970
- name: Configure Vix CLI
6071
run: |
72+
set -euxo pipefail
73+
6174
cmake -S . -B build-ci -G Ninja \
6275
-DCMAKE_BUILD_TYPE=Release \
6376
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
@@ -81,22 +94,32 @@ jobs:
8194
8295
- name: Build Vix CLI
8396
run: |
97+
set -euxo pipefail
8498
cmake --build build-ci --target vix -- -j"$(nproc)"
8599
86100
- name: Show Vix version
87101
run: |
102+
set -x
88103
./build-ci/vix --version || ./build-ci/vix version || true
89104
90105
- name: Run build safety tests
91106
run: |
107+
set -euxo pipefail
92108
VIX_BIN="$PWD/build-ci/vix" scripts/test-build-safety.sh
93109
94110
- name: Run build benchmark smoke test
95111
run: |
96-
VIX_BIN="$PWD/build-ci/vix" RUNS=3 WARMUP=1 TARGET=vix scripts/bench-build.sh
112+
set -euxo pipefail
113+
VIX_BIN="$PWD/build-ci/vix" \
114+
RUNS=3 \
115+
WARMUP=1 \
116+
TARGET=vix \
117+
scripts/bench-build.sh
97118
98119
- name: Upload benchmark report
120+
if: always()
99121
uses: actions/upload-artifact@v4
100122
with:
101-
name: vix-build-benchmark
123+
name: vix-build-benchmark-${{ github.run_id }}
102124
path: .vix/bench/reports/
125+
if-no-files-found: warn

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,7 @@
167167
path = modules/engine
168168
url = https://github.com/vixcpp/engine.git
169169
branch = dev
170+
[submodule "modules/realtime"]
171+
path = modules/realtime
172+
url = https://github.com/vixcpp/realtime.git
173+
branch = dev

0 commit comments

Comments
 (0)