Skip to content

Dynamic topology phase IV #2032

Dynamic topology phase IV

Dynamic topology phase IV #2032

Workflow file for this run

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: [ 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: [ 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@v5
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() }}