Skip to content

action

action #42

name: Asan Build & Test Parallel
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
clang-format-check:
name: Format
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Clang format
run: sudo apt-get install clang-format
- name: Run Clang format check
run: ./scripts/check_format.sh
build_asan:
name: Asan Build
runs-on: ubuntu-latest
container:
image: vsaglib/vsag:ubuntu
steps:
- uses: actions/checkout@v4
- name: Load Cache
uses: actions/[email protected]
with:
path: ./build/
key: build-${{ hashFiles('./CMakeLists.txt') }}-${{ hashFiles('./.circleci/fresh_ci_cache.commit') }}
# - name: Make Asan
# run: make asan
- name: Save Cache
uses: actions/[email protected]
with:
path: ./build/
key: build-${{ hashFiles('./CMakeLists.txt') }}-${{ hashFiles('./.circleci/fresh_ci_cache.commit') }}
- name: Save Test Cache
uses: actions/[email protected]
with:
path: ./build/
key: test-${{ github.run_id }}
# test_asan:
# name: Unit Test
# needs: build_asan
# runs-on: ubuntu-latest
# strategy:
# matrix:
# test_type: [ unittests, functests ]
# container:
# image: vsaglib/vsag:ubuntu
# steps:
# - name: Use Cache
# uses: actions/[email protected]
# with:
# path: ./build/
# key: test-${{ github.run_id }}
# - name: Do Asan Test In ${{ matrix.test_type }}
# run: ./build/tests/${{ matrix.test_type }} -d yes ${UT_FILTER} -a --order rand
# --allow-running-no-tests -o log && cat log
clean_up:
name: Clean Up Test Cache
needs: build_asan
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- uses: actions/checkout@v4
- name: Remove Cache
run: gh cache delete test-${{ github.run_id }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}