[PR3] Associated extra debugging tools for batch query API added in #195 #487
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| jobs: | |
| main: | |
| name: | | |
| libMesh=${{ matrix.libmesh }};MOAB=${{ matrix.moab }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| libmesh: [true, false] | |
| moab: [true, false] | |
| exclude: | |
| - moab: false | |
| libmesh: false | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Apt dependencies | |
| shell: bash | |
| run: | | |
| sudo apt -y update | |
| sudo apt install -y libgcc-9-dev \ | |
| libstdc++-9-dev \ | |
| libembree-dev \ | |
| libnetcdf-dev \ | |
| libhdf5-dev \ | |
| libeigen3-dev \ | |
| cmake | |
| - name: Update CMake | |
| uses: ssrobins/install-cmake@v1 | |
| with: | |
| version: 3.24.3 | |
| cache: true | |
| - name: GPRT Apt Dependencies | |
| shell: bash | |
| run: | | |
| sudo apt install -y \ | |
| libpthread-stubs0-dev \ | |
| libx11-xcb-dev \ | |
| xorg-dev \ | |
| libxinerama-dev \ | |
| libglu1-mesa-dev \ | |
| freeglut3-dev \ | |
| mesa-common-dev \ | |
| libglfw3 | |
| - name: Prepare Vulkan SDK | |
| uses: humbletim/[email protected] | |
| with: | |
| version: 1.4.309.0 | |
| cache: true | |
| - name: MOAB Clone | |
| if: ${{ matrix.moab }} | |
| shell: bash | |
| run: | | |
| cd ~ | |
| git clone https://bitbucket.org/fathomteam/moab.git | |
| cd moab | |
| git checkout 5.3.1 | |
| - name: libMesh Clone | |
| if: ${{ matrix.libmesh }} | |
| shell: bash | |
| run: | | |
| cd ~ | |
| git clone https://github.com/libMesh/libmesh.git | |
| cd libmesh | |
| git checkout v1.7.0 | |
| - name: OpenMP Environment Variables | |
| run: | | |
| echo "OMP_NUM_THREADS=1" >> $GITHUB_ENV | |
| - name: MOAB Environment Variables | |
| if: ${{ matrix.moab }} | |
| run: | | |
| echo "MOAB_SHA"=$(cd ~/moab && git rev-parse HEAD) >> $GITHUB_ENV | |
| - name: libMesh Environment Variables | |
| if: ${{ matrix.libmesh }} | |
| run: | | |
| echo "LIBMESH_SHA"=$(cd ~/libmesh && git rev-parse HEAD) >> $GITHUB_ENV | |
| # Enforce that we're using the debug build of libMesh | |
| echo "METHOD=dbg" >> $GITHUB_ENV | |
| - name: MOAB Cache | |
| if: ${{ matrix.moab }} | |
| id: moab-cache | |
| uses: actions/cache@v3 | |
| env: | |
| cache-name: moab-cache | |
| with: | |
| path: ~/MOAB | |
| key: moab-${{ runner.os }}-${{ env.cache-name }}-${{ env.MOAB_SHA }} | |
| - name: libMesh Cache | |
| if: ${{ matrix.libmesh }} | |
| id: libmesh-cache | |
| uses: actions/cache@v3 | |
| env: | |
| cache-name: libmesh-cache | |
| with: | |
| path: ~/LIBMESH | |
| key: libmesh-${{ runner.os }}-${{ env.cache-name }}-${{ env.LIBMESH_SHA }} | |
| - if: ${{ matrix.moab && steps.moab-cache.outputs.cache-hit != 'true' }} | |
| name: Build MOAB | |
| run: | | |
| cd ~/moab | |
| mkdir build | |
| cd build | |
| cmake -DENABLE_HDF5=ON -DENABLE_BLASLAPACK=OFF -DCMAKE_INSTALL_PREFIX=$HOME/MOAB -DCMAKE_BUILD_TYPE=Release .. | |
| make -j4 | |
| make install | |
| - if: ${{ matrix.libmesh && steps.libmesh-cache.outputs.cache-hit != 'true' }} | |
| name: Build libMesh | |
| shell: bash | |
| run: | | |
| cd ~ | |
| cd libmesh | |
| git checkout v1.7.0 | |
| git submodule update --init --recursive | |
| mkdir build | |
| cd build | |
| ../configure --prefix=$HOME/LIBMESH --enable-exodus --disable-netcdf4 --disable-eigen --disable-lapack --disable-mpi --disable-metaphysicl | |
| make -j4 | |
| sudo make install | |
| - name: Build | |
| shell: bash | |
| run: | | |
| export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH | |
| mkdir build | |
| cd build | |
| CMAKE_PREFIX_PATH="" | |
| if [ "${{ matrix.libmesh }}" = 'true' ]; then | |
| CMAKE_PREFIX_PATH="$HOME/LIBMESH" | |
| fi | |
| if [ "${{ matrix.moab }}" = 'true' ]; then | |
| if [ -n "$CMAKE_PREFIX_PATH" ]; then | |
| CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH;" | |
| fi | |
| CMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}$HOME/MOAB" | |
| fi | |
| cmake .. -DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH" -DCMAKE_INSTALL_PREFIX=$HOME/opt -DXDG_ENABLE_MOAB=${{ matrix.moab && 'ON' || 'OFF' }} -DXDG_ENABLE_LIBMESH=${{ matrix.libmesh && 'ON' || 'OFF' }} | |
| make -j4 install | |
| - name: Test | |
| shell: bash | |
| run: | | |
| cd build | |
| ctest -j4 --output-on-failure | |
| - name: Check installed executables | |
| shell: bash | |
| run: | | |
| ~/opt/bin/tools/find-volume | |
| - name: Setup tmate session | |
| if: ${{ failure() }} | |
| uses: mxschmitt/action-tmate@v3 |