Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 4 additions & 107 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,118 +9,15 @@ on:
jobs:
build-and-test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Create Build Directory
run: mkdir build

- name: Configure CMake
working-directory: ./build
run: cmake -DDISABLE_AVX512=ON -DENABLE_ADDRESS_SANITIZER=ON -DPIXIE_BENCHMARKS=OFF ..

- name: Build Project
working-directory: ./build
run: make -j

- name: Run Unittests
working-directory: ./build
run: ./unittests

- name: Run LOUDS Tree Tests
working-directory: ./build
run: ./louds_tree_tests

- name: Run BP Tree Tests
working-directory: ./build
run: ./bp_tree_tests

- name: Run DFUDS Tree Tests
working-directory: ./build
run: ./dfuds_tree_tests

- name: Run Benchmark Tests
working-directory: ./build
run: ./benchmark_tests

- name: Run RmM Tree Tests
working-directory: ./build
run: ./test_rmm

build-and-test-with-SDE:
runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- uses: actions/checkout@v4

- name: Create Build Directory
run: mkdir build

- name: Download and Unpack SDE
working-directory: ./build
run: |
wget https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz
tar xf sde-external-9.58.0-2025-06-16-lin.tar.xz

- name: Configure CMake
working-directory: ./build
run: cmake -DENABLE_ADDRESS_SANITIZER=ON -DMARCH=icelake-client -DHAVE_STD_REGEX=ON ..
run: cmake --preset asan

- name: Build Project
working-directory: ./build
run: make -j

- name: Run Unittests
working-directory: ./build
# SDE can hang during process teardown (static/ASan destructors) after all
# tests complete successfully. Use `timeout` to prevent the job from blocking
# indefinitely. GTest XML output is used to verify tests passed before
# treating a teardown timeout as success.
run: |
timeout 1800 sde-external-9.58.0-2025-06-16-lin/sde64 -icl -emu-xinuse 0 -- \
./unittests --gtest_output=xml:unittests_results.xml
rc=$?
if [ $rc -eq 124 ] && grep -q 'failures="0"' unittests_results.xml 2>/dev/null; then
echo "SDE timed out during process teardown (known SDE/ASan issue) - all tests passed, treating as success"
exit 0
fi
exit $rc

- name: Run LOUDS Tree Tests
working-directory: ./build
run: |
timeout 1800 sde-external-9.58.0-2025-06-16-lin/sde64 -icl -emu-xinuse 0 -- \
./louds_tree_tests --gtest_output=xml:louds_results.xml
rc=$?
if [ $rc -eq 124 ] && grep -q 'failures="0"' louds_results.xml 2>/dev/null; then
echo "SDE timed out during process teardown (known SDE/ASan issue) - all tests passed, treating as success"
exit 0
fi
exit $rc

- name: Run BP Tree Tests
working-directory: ./build
run: |
timeout 1800 sde-external-9.58.0-2025-06-16-lin/sde64 -icl -emu-xinuse 0 -- \
./bp_tree_tests --gtest_output=xml:bp_results.xml
rc=$?
if [ $rc -eq 124 ] && grep -q 'failures="0"' bp_results.xml 2>/dev/null; then
echo "SDE timed out during process teardown (known SDE/ASan issue) - all tests passed, treating as success"
exit 0
fi
exit $rc

- name: Run DFUDS Tree Tests
working-directory: ./build
run: |
timeout 1800 sde-external-9.58.0-2025-06-16-lin/sde64 -icl -emu-xinuse 0 -- \
./dfuds_tree_tests --gtest_output=xml:dfuds_results.xml
rc=$?
if [ $rc -eq 124 ] && grep -q 'failures="0"' dfuds_results.xml 2>/dev/null; then
echo "SDE timed out during process teardown (known SDE/ASan issue) - all tests passed, treating as success"
exit 0
fi
exit $rc
run: cmake --build --preset asan --parallel

- name: Run tests
run: ctest --preset asan
6 changes: 3 additions & 3 deletions .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ jobs:
sudo mv doxygen-1.13.2/bin/doxygen /usr/local/bin/doxygen
shell: bash
- name: Cmake configure
run: cmake -S ${{github.workspace}} -B ${{github.workspace}}/build -DPIXIE_DOCS=ON -DPIXIE_TESTS=OFF -DPIXIE_BENCHMARKS=OFF
run: cmake --preset docs
- name: Build docs
run: cmake --build ${{github.workspace}}/build --target docs
run: cmake --build --preset docs
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: ${{github.workspace}}/build/docs/html
path: ${{github.workspace}}/build/docs/docs/html
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Loading
Loading