Line decomp parallel #1877
This file contains 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: Build and run SEACAS tests | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow}}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
build-deps: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
compiler: [ gnu, clang, mpi ] | |
hdf5: [ V18, V110, V114 ] | |
netcdf: [ 4.9.2 ] | |
cgns: [ 4.4.0 ] | |
steps: | |
- uses: actions/checkout@v4 | |
- 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@v4 | |
with: | |
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} | |
key: TPL-v2-${{ 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.4.0 ] | |
steps: | |
- uses: actions/checkout@v4 | |
- 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@v4 | |
with: | |
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} | |
key: TPL-v2-${{ 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@v4 | |
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() }} |