Skip to content

Commit 00596b5

Browse files
authored
Merge pull request #119 from pomagrenate/v1.9.0
V1.9.0
2 parents c6f915b + 8d91b10 commit 00596b5

7,785 files changed

Lines changed: 2572937 additions & 1203 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 4 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ on:
55
pull_request:
66

77
jobs:
8-
build-test-linux:
9-
name: build-test-linux
8+
tests:
9+
name: run-all-tests
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
@@ -17,119 +17,10 @@ jobs:
1717
uses: lukka/get-cmake@latest
1818

1919
- name: Configure
20-
run: cmake -S . -B build -DPOMAI_BUILD_TESTS=ON
20+
run: cmake -S . -B build -DPOMAI_BUILD_TESTS=ON -DPOMAI_BUILD_BENCH=OFF
2121

2222
- name: Build
2323
run: cmake --build build --config Release --parallel
2424

2525
- name: CTest
26-
run: ctest --test-dir build --output-on-failure -C Release --timeout 120 -E "recall_test|recovery_test"
27-
28-
tsan:
29-
name: tsan-linux
30-
runs-on: ubuntu-latest
31-
steps:
32-
- uses: actions/checkout@v4
33-
with:
34-
submodules: recursive
35-
# Use GCC (default on Ubuntu) + TSan; POMAI_USE_PALLOC=OFF avoids multiple-definition with TSan's new/delete.
36-
- name: Configure (TSAN)
37-
run: >-
38-
cmake -S . -B build-tsan -DPOMAI_BUILD_TESTS=ON -DPOMAI_BUILD_BENCH=OFF -DPOMAI_USE_PALLOC=OFF
39-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
40-
-DCMAKE_C_FLAGS='-fsanitize=thread -fno-omit-frame-pointer -g'
41-
-DCMAKE_CXX_FLAGS='-fsanitize=thread -fno-omit-frame-pointer -g'
42-
-DCMAKE_EXE_LINKER_FLAGS='-fsanitize=thread'
43-
-DCMAKE_SHARED_LINKER_FLAGS='-fsanitize=thread'
44-
- name: Build (TSAN)
45-
run: cmake --build build-tsan --parallel
46-
- name: TSAN workload tests
47-
run: ctest --test-dir build-tsan --output-on-failure -L tsan --timeout 120
48-
49-
asan:
50-
name: asan-linux
51-
runs-on: ubuntu-latest
52-
steps:
53-
- uses: actions/checkout@v4
54-
with:
55-
submodules: recursive
56-
# GCC + ASan; POMAI_USE_PALLOC=OFF so ASan can intercept allocator.
57-
- name: Configure (ASan)
58-
run: >-
59-
cmake -S . -B build-asan -DPOMAI_BUILD_TESTS=ON -DPOMAI_BUILD_BENCH=OFF -DPOMAI_USE_PALLOC=OFF
60-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
61-
-DCMAKE_C_FLAGS='-fsanitize=address -fno-omit-frame-pointer -g'
62-
-DCMAKE_CXX_FLAGS='-fsanitize=address -fno-omit-frame-pointer -g'
63-
-DCMAKE_EXE_LINKER_FLAGS='-fsanitize=address'
64-
-DCMAKE_SHARED_LINKER_FLAGS='-fsanitize=address'
65-
- name: Build (ASan)
66-
run: cmake --build build-asan --parallel
67-
- name: Run tests (ASan)
68-
run: ctest --test-dir build-asan --output-on-failure -C RelWithDebInfo -E "tsan|crash" --timeout 120
69-
70-
ubsan:
71-
name: ubsan-linux
72-
runs-on: ubuntu-latest
73-
steps:
74-
- uses: actions/checkout@v4
75-
with:
76-
submodules: recursive
77-
# GCC + UBSan; POMAI_USE_PALLOC=OFF so sanitizer runtimes are used.
78-
- name: Configure (UBSan)
79-
run: >-
80-
cmake -S . -B build-ubsan -DPOMAI_BUILD_TESTS=ON -DPOMAI_BUILD_BENCH=OFF -DPOMAI_USE_PALLOC=OFF
81-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
82-
-DCMAKE_C_FLAGS='-fsanitize=undefined -fno-omit-frame-pointer -g'
83-
-DCMAKE_CXX_FLAGS='-fsanitize=undefined -fno-omit-frame-pointer -g'
84-
-DCMAKE_EXE_LINKER_FLAGS='-fsanitize=undefined'
85-
-DCMAKE_SHARED_LINKER_FLAGS='-fsanitize=undefined'
86-
- name: Build (UBSan)
87-
run: cmake --build build-ubsan --parallel
88-
- name: Run tests (UBSan)
89-
run: ctest --test-dir build-ubsan --output-on-failure -C RelWithDebInfo -E "tsan|crash" --timeout 120
90-
91-
python-ffi-smoke:
92-
name: python-ffi-smoke
93-
runs-on: ubuntu-latest
94-
steps:
95-
- uses: actions/checkout@v4
96-
with:
97-
submodules: recursive
98-
- name: Configure
99-
run: cmake -S . -B build -DPOMAI_BUILD_TESTS=ON
100-
- name: Build shared C ABI
101-
run: cmake --build build --target pomai_c --parallel
102-
- name: Run Python ctypes smoke
103-
run: python3 tests/ffi/python_ctypes_smoke.py
104-
- name: Run RAG smoke
105-
run: python3 scripts/rag_smoke.py
106-
107-
perf-gate:
108-
name: perf-gate
109-
runs-on: ubuntu-latest
110-
steps:
111-
- uses: actions/checkout@v4
112-
with:
113-
submodules: recursive
114-
- name: Configure
115-
run: cmake -S . -B build -DPOMAI_BUILD_TESTS=ON
116-
- name: Build perf harness
117-
run: cmake --build build --target ci_perf_bench --parallel
118-
- name: Run perf guardrail
119-
run: python3 tools/perf_gate.py --build-dir build --baseline benchmarks/perf_baseline.json --threshold 0.10
120-
121-
benchmark-trust:
122-
name: benchmark-trust
123-
runs-on: ubuntu-latest
124-
steps:
125-
- uses: actions/checkout@v4
126-
with:
127-
submodules: recursive
128-
- name: Install Python deps
129-
run: python3 -m pip install numpy
130-
- name: Configure
131-
run: cmake -S . -B build -DPOMAI_BUILD_TESTS=OFF
132-
- name: Build shared C ABI
133-
run: cmake --build build --target pomai_c --parallel
134-
- name: Run trust benchmark gates
135-
run: scripts/benchmark_trust.sh
26+
run: ctest --test-dir build --output-on-failure -C Release --timeout 120

0 commit comments

Comments
 (0)