From d77934445d5e8bcbfa7fc49a5025406c81922ae9 Mon Sep 17 00:00:00 2001 From: Julia Dark Date: Mon, 16 Dec 2024 11:42:14 -0500 Subject: [PATCH] Install latest TileDB release for ASAN CI --- .github/workflows/libtiledbsoma-asan-ci.yml | 27 ++++++++++++++++----- scripts/update-tiledb-version.py | 5 ++++ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.github/workflows/libtiledbsoma-asan-ci.yml b/.github/workflows/libtiledbsoma-asan-ci.yml index 754ae6aa68..2446a52b82 100644 --- a/.github/workflows/libtiledbsoma-asan-ci.yml +++ b/.github/workflows/libtiledbsoma-asan-ci.yml @@ -12,9 +12,24 @@ jobs: asan: runs-on: ubuntu-24.04 steps: - - name: Checkout TileDB-SOMA - uses: actions/checkout@v4 - - name: Build libtiledbsoma - run: ./scripts/bld --build=ASAN --no-tiledb-deprecated=true --werror=true - - name: Run libTileDB-SOMA unittests - run: ctest --test-dir build/libtiledbsoma -C ASAN --verbose --rerun-failed --output-on-failure + - name: Install pre-built libtiledb + run: | + mkdir -p external + # Please do not edit manually -- let scripts/update-tiledb-version.py update this + wget --quiet https://github.com/TileDB-Inc/TileDB/releases/download/2.27.0/tiledb-linux-x86_64-2.27.0-2862c30.tar.gz + tar -C external -xzf tiledb-*.tar.gz + ls external/lib/ + - name: Build and install libtiledbsoma + run: | + cmake -S libtiledbsoma -B build-libtiledbsoma \ + -D CMAKE_BUILD_TYPE=ASAN \ + -D CMAKE_PREFIX_PATH=$(pwd)/external/ \ + -D CMAKE_INSTALL_PREFIX:PATH=$(pwd)/external/ \ + -D OVERRIDE_INSTALL_PREFIX=OFF \ + -D DOWNLOAD_TILEDB_PREBUILT=OFF \ + -D TILEDB_REMOVE_DEPRECATIONS=ON \ + -D FORCE_BUILD_TILEDB=OFF + cmake --build build-libtiledbsoma -j 2 + ls external/lib/ + - name: Run C++ unittests + run: ctest --test-dir build/libtiledbsoma -C ASAN --verbose --rerun-failed --output-on-failure diff --git a/scripts/update-tiledb-version.py b/scripts/update-tiledb-version.py index ddc6b641b4..cb74090533 100755 --- a/scripts/update-tiledb-version.py +++ b/scripts/update-tiledb-version.py @@ -121,6 +121,11 @@ def main(args): ) update_version(filepath, new_version, new_hash) + filepath = ( + f"{os.path.dirname(__file__)}/../.github/workflows/libtiledbsoma-asan-ci.yml" + ) + update_version(filepath, new_version, new_hash) + if __name__ == "__main__": description = (