Defrag api #2695
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Sanitizer | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: [master, "[0-9]+.[0-9]+"] | |
push: | |
branches: | |
- master | |
- "[0-9]+.[0-9]+" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
sanitize-test: | |
runs-on: ubuntu-latest | |
container: falkordb/falkordb-build:ubuntu | |
steps: | |
- name: Safe dir | |
run: git config --global --add safe.directory '*' | |
- uses: actions/checkout@v5 | |
with: | |
set-safe-directory: '*' | |
submodules: recursive | |
- name: Cache GraphBLAS | |
id: cache_graphblas | |
uses: actions/cache@v4 | |
with: | |
path: ./bin/linux-x64-debug-asan/GraphBLAS | |
key: graphblas-sanitizer-llvm-${{ hashFiles('./deps/GraphBLAS/Include/GraphBLAS.h', './deps/GraphBLAS/Config/GB_prejit.c') }} | |
- name: Cache parser | |
id: cache_parser | |
uses: actions/cache@v4 | |
with: | |
path: ./bin/linux-x64-debug-asan/libcypher-parser | |
key: parser-sanitizer-llvm-${{ hashFiles('./deps/libcypher-parser/lib/src/parser.c') }} | |
- name: Cache search | |
id: cache_search | |
uses: actions/cache@v4 | |
with: | |
path: ./bin/linux-x64-debug-asan/search-static | |
key: search-sanitizer-llvm-${{ hashFiles('./deps/RediSearch/src/version.h') }} | |
- name: Cache libcurl | |
id: cache_libcurl | |
uses: actions/cache@v4 | |
with: | |
path: ./bin/linux-x64-debug-asan/libcurl | |
key: libcurl-sanitizer-llvm-${{ hashFiles('./deps/libcurl/RELEASE-NOTES') }} | |
- name: Cache libcsv | |
id: cache_libcsv | |
uses: actions/cache@v4 | |
with: | |
path: ./bin/linux-x64-debug-asan/libcsv | |
key: libcsv-sanitizer-llvm-${{ hashFiles('./deps/libcsv/ChangeLog') }} | |
- name: Build | |
run: | | |
rustup default nightly | |
apt-get update | |
apt-get install -y lsb-release wget software-properties-common gnupg | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x llvm.sh | |
./llvm.sh 17 | |
apt-get update | |
apt-get install -y libomp-17-dev libc6-dbg python3-venv | |
python3 -m venv venv | |
. venv/bin/activate | |
pip install -r tests/requirements.txt | |
update-alternatives \ | |
--verbose \ | |
--install /usr/bin/clang clang /usr/bin/clang-17 100 \ | |
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-17 | |
make CLANG=1 SAN=address NPROC=16 | |
- name: Unit tests | |
id: unit_tests | |
run: make unit-tests CLEAR_LOGS=0 SAN=address | |
continue-on-error: true | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Upload unit tests logs | |
path: ${{ github.workspace }}/tests/unit/logs/ | |
retention-days: 7 | |
- name: Flow tests | |
id: flow_tests | |
run: | | |
. venv/bin/activate | |
make flow-tests CLEAR_LOGS=0 SAN=address | |
continue-on-error: true | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Upload flow tests logs | |
path: ${{ github.workspace }}/tests/flow/logs/ | |
retention-days: 7 | |
- name: TCK tests | |
id: tck_tests | |
run: | | |
. venv/bin/activate | |
make tck-tests CLEAR_LOGS=0 SAN=address | |
continue-on-error: true | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Upload TCK tests logs | |
path: ${{ github.workspace }}/tests/tck/logs/ | |
retention-days: 7 | |
- name: Check on failures | |
if: steps.unit_tests.outcome != 'success' || steps.flow_tests.outcome != 'success' || steps.tck_tests.outcome != 'success' | |
run: exit 1 |