name: Build and run SEACAS tests on: push: branches: - master pull_request: branches: - master jobs: build-deps: runs-on: ubuntu-latest strategy: matrix: compiler: [ gnu, clang, mpi ] hdf5: [ V18, V110, V114 ] netcdf: [ 4.9.2 ] cgns: [ 4.3.0 ] steps: - uses: actions/checkout@v3 - name: Install System dependencies shell: bash -l {0} run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev ### # Installing TPL ### - name: Cache TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} id: cache-TPL uses: actions/cache@v3 with: path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} key: TPL-v4-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} - name: Build TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} if: steps.cache-TPL.outputs.cache-hit != 'true' run: | echo $HOME set -x COMPILER=${{ matrix.compiler }} H5VERSION=${{ matrix.hdf5}} GNU_PARALLEL=OFF INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib ### # Fetch Cache ### seacas-build: needs: build-deps runs-on: ubuntu-latest strategy: matrix: compiler: [ gnu, clang, mpi ] hdf5: [ V18, V110, V114 ] netcdf: [ 4.9.2 ] cgns: [ 4.3.0 ] steps: - uses: actions/checkout@v3 - name: Install System dependencies shell: bash -l {0} run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev - name: Fetch TPL Cache id: cache-TPL uses: actions/cache@v3 with: path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} key: TPL-v4-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} - name: Check Cache shell: bash -l {0} run: ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib ### # Configure and build ### - name: Setup Python uses: actions/setup-python@v3 with: python-version: '3.11' - name: Install NumPy shell: bash -l {0} run: pip install numpy - name: Run cmake shell: bash -l {0} run: | echo $HOME mkdir build cd build NUMPROCS=2 COMPILER=${{ matrix.compiler }} INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} bash ../cmake-config - name: Build shell: bash -l {0} run: | cd build make -j 4 if: ${{ success() }} - name: Install shell: bash -l {0} run: | cd build make -j 4 install if: ${{ success() }} - name: Run Tests shell: bash -l {0} run: | cd build ctest -j 4 --output-on-failure if: ${{ success() }} - name: Run SEACAS-Test shell: bash -l {0} run: | cd SEACAS-Test make BASE=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} test if: ${{ success() }}