Skip to content

refactor: add windows to asan ci #8684

refactor: add windows to asan ci

refactor: add windows to asan ci #8684

Workflow file for this run

name: Linux / Valgrind
on:
pull_request:
branches:
- '*'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
build-valgrind:
name: ubuntu2004.amd64.valgrind-build
container:
image: vowpalwabbit/ubuntu2004-build:latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: Build C++ VW binary
run: |
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_EXPERIMENTAL_BINDING=On -DVW_FEAT_FLATBUFFERS=On -DVW_FEAT_CSV=On -DVW_FEAT_CB_GRAPH_FEEDBACK=On
cmake --build build
- name: Upload vw binary
uses: actions/upload-artifact@v2
with:
name: vw
path: build/vowpalwabbit/cli/vw
if-no-files-found: error
- name: Upload spanning_tree binary
uses: actions/upload-artifact@v2
with:
name: spanning_tree
path: build/vowpalwabbit/spanning_tree_bin/spanning_tree
if-no-files-found: error
- name: Upload to_flatbuff binary
uses: actions/upload-artifact@v2
with:
name: to_flatbuff
path: build/utl/flatbuffer/to_flatbuff
if-no-files-found: error
- name: Run unit tests with Valgrind
working-directory: build
run: |
if ! ctest --output-on-failure --exclude-regex "WIterations" --label-regex VWTestList --timeout 10 -T memcheck --overwrite MemoryCheckCommandOptions="--leak-check=full --error-exitcode=100" --parallel 2; then
find Testing/Temporary -name "MemoryChecker.*.log" -exec cat {} +
exit 1
fi
run-valgrind-tests:
name: ubuntu2004.amd64.valgrind-test.[${{ matrix.test-segment }}]
needs: build-valgrind
strategy:
matrix:
test-segment: ["..100", "101..200", "201..300", "301..400", "401.."]
container:
image: vowpalwabbit/ubuntu2004-build:latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: actions/download-artifact@v2
with:
name: vw
- uses: actions/download-artifact@v2
with:
name: spanning_tree
- uses: actions/download-artifact@v2
with:
name: to_flatbuff
- name: run tests
run: |
chmod +x vw
chmod +x spanning_tree
chmod +x to_flatbuff
python3 test/run_tests.py -f --epsilon 1e-3 --include_flatbuffers --valgrind -t "${{ matrix.test-segment }}" --vw_bin_path=./vw --spanning_tree_bin_path=./spanning_tree --to_flatbuff_path=./to_flatbuff