Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
34e2dc4
chore(release): prepare v2.6.3
GaspardKirira Jun 12, 2026
539f935
release: prepare v2.6.3
GaspardKirira Jun 15, 2026
a7fc25f
ci: add module tests workflow
GaspardKirira Jun 15, 2026
d9d7716
chore(release): update v2.6.3 notes and module refs
GaspardKirira Jun 15, 2026
f8ae033
chore(release): update v2.6.3 core benchmark notes
GaspardKirira Jun 16, 2026
fc8800f
chore(release): update v2.6.3 changelog and module pointers
GaspardKirira Jun 16, 2026
577d4db
ci: enable umbrella module test coverage
GaspardKirira Jun 16, 2026
e51be97
chore: update threadpool module
GaspardKirira Jun 16, 2026
84a2fa1
chore: update p2p_http module
GaspardKirira Jun 16, 2026
5a8ba3a
chore: update conversion module
GaspardKirira Jun 16, 2026
247294a
chore: update validation module
GaspardKirira Jun 16, 2026
2c63be0
chore: update path module
GaspardKirira Jun 16, 2026
94064a1
ci: stabilize sanitizer test coverage
GaspardKirira Jun 16, 2026
5c47206
chore: update sanitizer-ready test modules
GaspardKirira Jun 17, 2026
72e820b
chore: update threadpool module
GaspardKirira Jun 17, 2026
93aa927
chore: update agent module
GaspardKirira Jun 17, 2026
9c4ca92
chore: update game module
GaspardKirira Jun 17, 2026
fa68849
chore: update threadpool module
GaspardKirira Jun 17, 2026
41f19e8
chore: update time module
GaspardKirira Jun 17, 2026
43494cb
chore(threadpool): update module reference
GaspardKirira Jun 17, 2026
3b60254
ci: limit clang-tidy to module sources
GaspardKirira Jun 17, 2026
63b3d3d
ci: run clang-tidy on configured module sources
GaspardKirira Jun 17, 2026
5dd2f03
ci: run clang-tidy on configured module sources
GaspardKirira Jun 17, 2026
c8bb985
ci: exclude third-party code from cppcheck
GaspardKirira Jun 17, 2026
856c7b5
ci: use cppcheck ignore paths for third-party code
GaspardKirira Jun 17, 2026
e39186e
ci: restrict sanitizer and cppcheck scopes
GaspardKirira Jun 17, 2026
df84d69
chore: update threadpool module
GaspardKirira Jun 17, 2026
dbf9e40
chore: update threadpool module
GaspardKirira Jun 17, 2026
6502c7f
chore: update cli module
GaspardKirira Jun 17, 2026
ac422d6
ci: skip runtime worker stress test under valgrind
GaspardKirira Jun 17, 2026
c2b76eb
ci: remove cppcheck from security workflow
GaspardKirira Jun 17, 2026
809da30
chore(release): prepare v2.6.3
GaspardKirira Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
189 changes: 189 additions & 0 deletions .github/workflows/MODULE_TESTS_CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
name: Module Tests CI

on:
push:
branches:
- main
- dev
- release/**
paths:
- ".github/workflows/MODULE_TESTS_CI.yml"
- "CMakeLists.txt"
- "cmake/**"
- "tests/**"
- "modules/**"
- ".gitmodules"

pull_request:
branches:
- main
- dev
- release/**
paths:
- ".github/workflows/MODULE_TESTS_CI.yml"
- "CMakeLists.txt"
- "cmake/**"
- "tests/**"
- "modules/**"
- ".gitmodules"

workflow_dispatch:

permissions:
contents: read

env:
DEPS: >
build-essential
cmake
ninja-build
clang
llvm
lld
g++
pkg-config
git
curl
zip
unzip
tar
libssl-dev
zlib1g-dev
nlohmann-json3-dev
libsqlite3-dev
libspdlog-dev
libfmt-dev
libmysqlcppconn-dev
BUILD_JOBS: 2

jobs:
umbrella-tests:
name: Umbrella Tests (${{ matrix.compiler }})
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
compiler: [clang, gcc]

steps:
- name: Checkout umbrella repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive

- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y $DEPS

- name: Select compiler
run: |
if [ "${{ matrix.compiler }}" = "clang" ]; then
echo "CC=clang" >> "$GITHUB_ENV"
echo "CXX=clang++" >> "$GITHUB_ENV"
else
echo "CC=gcc" >> "$GITHUB_ENV"
echo "CXX=g++" >> "$GITHUB_ENV"
fi

- name: Configure umbrella tests
run: |
cmake -G Ninja -S . -B build-tests \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DVIX_BUILD_TESTS=ON \
-DVIX_BUILD_EXAMPLES=OFF \
-DVIX_ENABLE_SANITIZERS=OFF \
-DVIX_ENABLE_WARNINGS=ON \
-DVIX_ENABLE_INSTALL=OFF \
-DVIX_FORCE_FETCH_JSON=OFF \
-DVIX_FETCH_DEPS=OFF \
-DVIX_ENABLE_ASYNC=ON \
-DVIX_ENABLE_CRYPTO=ON \
-DVIX_ENABLE_TIME=ON \
-DVIX_TIME_BUILD_TESTS=ON \
-DVIX_ENABLE_TEMPLATE=ON \
-DVIX_TEMPLATE_BUILD_TESTS=ON \
-DVIX_ENABLE_AGENT=ON \
-DVIX_AGENT_BUILD_TESTS=ON \
-DVIX_ENABLE_GAME=ON \
-DVIX_GAME_BUILD_TESTS=ON \
-DVIX_GAME_ENABLE_SDL=OFF \
-DVIX_GAME_ENABLE_SDL_OPENGL=OFF \
-DVIX_ENABLE_WEBRPC=ON \
-DVIX_ENABLE_VALIDATION=ON \
-DVIX_ENABLE_CACHE=ON \
-DVIX_ENABLE_P2P=ON \
-DVIX_ENABLE_P2P_HTTP=ON \
-DVIX_ENABLE_DB=ON \
-DVIX_DB_USE_MYSQL=ON \
-DVIX_DB_USE_SQLITE=OFF \
-DVIX_ENABLE_ORM=ON \
-DVIX_ENABLE_MIDDLEWARE=ON \
-DVIX_ENABLE_CLI=ON \
-DVIX_ENABLE_WEBSOCKET=ON

- name: Build tests
run: |
cmake --build build-tests -j"${BUILD_JOBS}"

- name: Run tests
run: |
ctest --test-dir build-tests --output-on-failure

module-tests-light:
name: Module Tests Light Profile
runs-on: ubuntu-latest

steps:
- name: Checkout umbrella repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive

- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y $DEPS

- name: Configure light module tests
run: |
cmake -G Ninja -S . -B build-module-light \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DVIX_BUILD_TESTS=ON \
-DVIX_BUILD_EXAMPLES=OFF \
-DVIX_ENABLE_INSTALL=OFF \
-DVIX_ENABLE_SANITIZERS=OFF \
-DVIX_ENABLE_WARNINGS=ON \
-DVIX_FORCE_FETCH_JSON=OFF \
-DVIX_FETCH_DEPS=OFF \
-DVIX_ENABLE_TIME=ON \
-DVIX_TIME_BUILD_TESTS=ON \
-DVIX_ENABLE_TEMPLATE=ON \
-DVIX_TEMPLATE_BUILD_TESTS=ON \
-DVIX_ENABLE_THREADPOOL=ON \
-DVIX_ENABLE_KV=ON \
-DVIX_ENABLE_GAME=ON \
-DVIX_GAME_BUILD_TESTS=ON \
-DVIX_GAME_ENABLE_SDL=OFF \
-DVIX_GAME_ENABLE_SDL_OPENGL=OFF \
-DVIX_ENABLE_AGENT=OFF \
-DVIX_ENABLE_DB=OFF \
-DVIX_ENABLE_ORM=OFF \
-DVIX_ENABLE_P2P=OFF \
-DVIX_ENABLE_P2P_HTTP=OFF \
-DVIX_ENABLE_CACHE=OFF \
-DVIX_ENABLE_CLI=OFF \
-DVIX_ENABLE_WEBSOCKET=OFF

- name: Build light module tests
run: |
cmake --build build-module-light -j"${BUILD_JOBS}"

- name: Run light module tests
run: |
ctest --test-dir build-module-light --output-on-failure
Loading
Loading