Skip to content

Fix floating-point exception in Zstd::Decompress #366

Fix floating-point exception in Zstd::Decompress

Fix floating-point exception in Zstd::Decompress #366

Workflow file for this run

name: build
on: [push, pull_request]
env:
MOAB_CACHE_KEY: "MOAB-5.3.0"
MOAB_INSTALL_PREFIX: "${{ github.workspace }}/moab"
CATCH2_CACHE_KEY: "Catch2-3.8.0"
CATCH2_INSTALL_PREFIX: "${{ github.workspace }}/catch2"
TCLAP_CACHE_KEY: "TCLAP-1.4.0-rc1"
TCLAP_INSTALL_PREFIX: "${{ github.workspace }}/tclap"
ZSTD_CACHE_KEY: "ZSTD-1.5.0"
ZSTD_INSTALL_PREFIX: "${{ github.workspace }}/zstd"
MGARD_CACHE_KEY: "MGARD-${{ github.sha }}"
MGARD_INSTALL_PREFIX: "${{ github.workspace }}/mgard"
MGARD_BUILD_TYPE: "Release"
MGARD_BUILD_DIR: "${{ github.workspace }}/build"
jobs:
build-MOAB:
runs-on: ubuntu-24.04
steps:
- run: sudo apt-get install mpich libmpich-dev liblapack-dev
- name: cache-MOAB
id: cache-MOAB
uses: actions/cache@v4
with:
key: "${{ env.MOAB_CACHE_KEY }}"
path: "${{ env.MOAB_INSTALL_PREFIX }}"
- name: build-MOAB
if: steps.cache-MOAB.outputs.cache-hit != 'true'
run: |
wget "https://ftp.mcs.anl.gov/pub/fathom/moab-5.3.0.tar.gz"
gunzip "moab-5.3.0.tar.gz"
tar --file "moab-5.3.0.tar" --extract
cmake -S "moab-5.3.0" -B "build" -DCMAKE_INSTALL_PREFIX="${{ env.MOAB_INSTALL_PREFIX }}"
cmake --build "build" --parallel
cmake --install "build"
build-Catch2:
runs-on: ubuntu-24.04
steps:
- name: cache-Catch2
id: cache-Catch2
uses: actions/cache@v4
with:
key: "${{ env.CATCH2_CACHE_KEY }}"
path: "${{ env.CATCH2_INSTALL_PREFIX }}"
- name: build-Catch2
if: steps.cache-Catch2.outputs.cache-hit != 'true'
run: |
wget https://github.com/catchorg/Catch2/archive/refs/tags/v3.8.0.tar.gz
gunzip "v3.8.0.tar.gz"
tar --file "v3.8.0.tar" --extract
cmake -S "Catch2-3.8.0" -B "build" -DCMAKE_INSTALL_PREFIX="${{ env.CATCH2_INSTALL_PREFIX }}"
cmake --build "build" --parallel
cmake --install "build"
build-TCLAP:
runs-on: ubuntu-24.04
steps:
- name: cache-TCLAP
id: cache-TCLAP
uses: actions/cache@v4
with:
key: "${{ env.TCLAP_CACHE_KEY }}"
path: "${{ env.TCLAP_INSTALL_PREFIX }}"
- name: build-TCLAP
if: steps.cache-TCLAP.outputs.cache-hit != 'true'
run: |
wget https://sourceforge.net/projects/tclap/files/tclap-1.4.0-rc1.tar.bz2
bunzip2 "tclap-1.4.0-rc1.tar.bz2"
tar --file "tclap-1.4.0-rc1.tar" --extract
cmake -S "tclap-1.4.0-rc1" -B "build" -DCMAKE_INSTALL_PREFIX="${{ env.TCLAP_INSTALL_PREFIX }}"
cmake --build "build" --parallel
cmake --install "build"
build-ZSTD:
runs-on: ubuntu-24.04
steps:
- name: cache-ZSTD
id: cache-ZSTD
uses: actions/cache@v4
with:
key: "${{ env.ZSTD_CACHE_KEY }}"
path: "${{ env.ZSTD_INSTALL_PREFIX }}"
- name: build-ZSTD
if: steps.cache-ZSTD.outputs.cache-hit != 'true'
run: |
git clone -b v1.5.0 https://github.com/facebook/zstd.git zstd_src
mkdir -p zstd_build
cmake -S zstd_src/build/cmake -B zstd_build\
-DZSTD_MULTITHREAD_SUPPORT=ON\
-DCMAKE_INSTALL_LIBDIR=lib\
-DCMAKE_INSTALL_PREFIX="${{ env.ZSTD_INSTALL_PREFIX }}"
cmake --build zstd_build --parallel
cmake --install zstd_build
build-MGARD:
needs: [build-MOAB, build-Catch2, build-TCLAP, build-ZSTD]
runs-on: ubuntu-24.04
steps:
- run: sudo apt-get install mpich doxygen libmpich-dev liblapack-dev libzstd1 libzstd-dev libtclap-dev protobuf-compiler libprotobuf-dev
- name: checkout
uses: actions/checkout@v4
- name: fetch-MOAB
uses: actions/cache@v4
with:
key: "${{ env.MOAB_CACHE_KEY }}"
path: "${{ env.MOAB_INSTALL_PREFIX }}"
- name: fetch-Catch2
uses: actions/cache@v4
with:
key: "${{ env.CATCH2_CACHE_KEY }}"
path: "${{ env.CATCH2_INSTALL_PREFIX }}"
- name: fetch-TCLAP
uses: actions/cache@v4
with:
key: "${{ env.TCLAP_CACHE_KEY }}"
path: "${{ env.TCLAP_INSTALL_PREFIX }}"
- name: fetch-ZSTD
uses: actions/cache@v4
with:
key: "${{ env.ZSTD_CACHE_KEY }}"
path: "${{ env.ZSTD_INSTALL_PREFIX }}"
- name: configure
run: cmake -S . -B "${{ env.MGARD_BUILD_DIR }}" -DCMAKE_PREFIX_PATH="${{ env.MOAB_INSTALL_PREFIX }};${{ env.CATCH2_INSTALL_PREFIX }};${{ env.TCLAP_INSTALL_PREFIX }};${{ env.ZSTD_INSTALL_PREFIX }}" -DCMAKE_BUILD_TYPE="${{ env.MGARD_BUILD_TYPE }}" -DCMAKE_INSTALL_PREFIX="${{ env.MGARD_INSTALL_PREFIX }}" -D MGARD_ENABLE_DOCS=ON
- name: build
run: cmake --build "${{ env.MGARD_BUILD_DIR }}" -j 8
- name: test
run: "${{ env.MGARD_BUILD_DIR }}/bin/tests"
- name: install
run: cmake --install "${{ env.MGARD_BUILD_DIR }}"
- name: cache-MGARD
uses: actions/cache@v4
with:
key: "${{ env.MGARD_CACHE_KEY }}"
path: "${{ env.MGARD_INSTALL_PREFIX }}"