Skip to content

compile openblas dynamic arch #2829

compile openblas dynamic arch

compile openblas dynamic arch #2829

name: Asan Build & Test Parallel
on:
push:
branches: [ "main", "0.*" ]
pull_request:
branches: [ "main", "0.*" ]
jobs:
build_asan_x86:
name: Asan Build X86
runs-on: ubuntu-22.04
container:
image: vsaglib/vsag:ci-x86
volumes:
- /opt:/useless
concurrency:
group: asan_build_x86-${{ github.event.pull_request.number }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
steps:
- name: Free Disk Space
run: rm -rf /useless/hostedtoolcache
- uses: actions/checkout@v4
- name: Load Cache
uses: actions/cache@v4
with:
path: ./build.tar.gz
key: build-${{ hashFiles('./CMakeLists.txt') }}-${{ hashFiles('./.circleci/fresh_ci_cache.commit') }}
- name: Extract
run: |
if [ -f build.tar.gz ]; then
tar -xzvf build.tar.gz;
rm -rf build.tar.gz;
else
mkdir -p build;
fi
- name: Make Asan
run: export CMAKE_GENERATOR="Ninja"; make asan
- name: Compress
run: |
sudo apt install pigz -y;
tar -cf - ./build | pigz -p 4 > build.tar.gz
- name: Clean
run: find ./build -type f -name "*.o" -exec rm -f {} +
- name: Save Test
uses: actions/upload-artifact@v4
with:
path: ./build
name: test_x86-${{ github.run_id }}
compression-level: 1
retention-days: 1
overwrite: 'true'
build_asan_aarch64:
name: Asan Build Aarch64
runs-on: ubuntu-22.04-arm
concurrency:
group: asan_build_aarch-${{ github.event.pull_request.number }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
steps:
- name: Free Disk Space
run: rm -rf /opt/hostedtoolcache
- uses: actions/checkout@v4
- name: Prepare Env
run: sudo bash ./scripts/deps/install_deps_ubuntu.sh
- name: Load Cache
uses: actions/cache@v4
with:
path: ./build.tar.gz
key: build-aarch-${{ hashFiles('./CMakeLists.txt') }}-${{ hashFiles('./.circleci/fresh_ci_cache.commit') }}
- name: Extract
run: |
if [ -f build.tar.gz ]; then
tar -xzvf build.tar.gz;
rm -rf build.tar.gz;
else
mkdir -p build;
fi
- name: Make Asan
run: export CMAKE_GENERATOR="Ninja"; make asan
- name: Compress
run: |
sudo apt install pigz -y;
tar -cf - ./build | pigz -p 4 > build.tar.gz
- name: Clean
run: find ./build -type f -name "*.o" -exec rm -f {} +
- name: Save Test
uses: actions/upload-artifact@v4
with:
path: ./build/
name: test_aarch64-${{ github.run_id }}
compression-level: 1
retention-days: 1
overwrite: 'true'
test_asan_x86:
name: Test X86
needs: build_asan_x86
runs-on: ubuntu-22.04
concurrency:
group: test_asan_x86-${{ matrix.test_type }}-${{ github.event.pull_request.number }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
strategy:
matrix:
test_type: [ unittests, functests ]
container:
image: vsaglib/vsag:ci-x86
volumes:
- /opt:/useless
steps:
- name: Free Disk Space
run: rm -rf /opt/hostedtoolcache
- uses: actions/checkout@v4
- name: Clean Env
run: rm -rf ./build
- name: Download Test
uses: actions/download-artifact@v4
with:
name: test_x86-${{ github.run_id }}
path: ./build
- name: Do Asan Test In ${{ matrix.test_type }}
run: |
echo leak:libomp.so > omp.supp
export LSAN_OPTIONS=suppressions=omp.supp
chmod +x ./build/tests/${{ matrix.test_type }}
./scripts/test_parallel_by_name.sh ${{ matrix.test_type }}
- name: Upload Log
uses: actions/upload-artifact@v4
with:
path: ./log
name: log-x86-${{ matrix.test_type }}-${{ github.run_id }}
compression-level: 1
retention-days: 1
overwrite: 'true'
test_asan_aarch64:
name: Test Aarch64
needs: build_asan_aarch64
runs-on: ubuntu-22.04-arm
strategy:
matrix:
test_type: [ unittests, functests ]
concurrency:
group: test_asan_aarch64-${{ matrix.test_type }}-${{ github.event.pull_request.number }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
steps:
- name: Free Disk Space
run: rm -rf /opt/hostedtoolcache
- uses: actions/checkout@v4
- name: Prepare Env
run: sudo bash ./scripts/deps/install_deps_ubuntu.sh
- name: Clean Build
run: rm -rf ./build
- name: Download Test
uses: actions/download-artifact@v4
with:
name: test_aarch64-${{ github.run_id }}
path: ./build
- name: Do Asan Test In ${{ matrix.test_type }}
run: |
echo leak:libomp.so > omp.supp
export LSAN_OPTIONS=suppressions=omp.supp
chmod +x ./build/tests/${{ matrix.test_type }}
./scripts/test_parallel_by_name.sh ${{ matrix.test_type }}
- name: Upload Log
uses: actions/upload-artifact@v4
with:
path: ./log
name: log-aarch64-${{ matrix.test_type }}-${{ github.run_id }}
compression-level: 1
retention-days: 1
overwrite: 'true'
clean_up:
name: Clean Up
needs: [ test_asan_x86, test_asan_aarch64 ]
runs-on: ubuntu-22.04
steps:
- name: Create Empty File
run: touch /tmp/clean_up
- name: Overwrite Test Artifact X86
uses: actions/upload-artifact@v4
with:
path: /tmp/clean_up
name: test_x86-${{ github.run_id }}
compression-level: 1
retention-days: 1
overwrite: 'true'
- name: Overwrite Test Artifact Aarch64
uses: actions/upload-artifact@v4
with:
path: /tmp/clean_up
name: test_aarch64-${{ github.run_id }}
compression-level: 1
retention-days: 1
overwrite: 'true'