Skip to content

cds for build dir

cds for build dir #13

on: push
jobs:
intel-autotools:
runs-on: self-hosted
#strategy:
#matrix:
# io-flag: ["--disable-deprecated-io", "--enable-deprecated-io"]
# compilers: [ "intel", "intel-classic", "intel-oneapi"]
# target: [ "PROD", "DEBUG" ]
env:
NC_VERSION: 4.7.0
INTEL_VERSION: 2022.1.2
TEST_VERBOSE: 1
MPI_LAUNCHER: "srun --mpi=pmi2 --partition n384"
steps:
- name: checkout
uses: actions/checkout@v2
- name: Set up enviroment
run: | # writes env variables onto file to allow them to persist across steps
module load intel/${INTEL_VERSION} impi/${INTEL_VERSION} netcdf/${NC_VERSION} hdf5
echo "FC=`which mpiifort`" >> "$GITHUB_ENV"
echo "CC=`which mpiicc`" >> "$GITHUB_ENV"
echo "FCFLAGS=`nf-config --fflags`" >> "$GITHUB_ENV"
echo "CFLAGS=`nc-config --cflags`" >> "$GITHUB_ENV"
echo "LDFLAGS=`nc-config --libs`" >> "$GITHUB_ENV"
# TODO env cmd doesn't work, workaround is to module load every step
# env >> "$GITHUB_ENV"
# env:
# CC: mpifc -fc=${{ matrix.compilers == 'intel-classic' && 'icc' || 'icx'}}
# FC: mpifc -fc=${{ matrix.compilers != 'intel-oneapi' && 'ifort' || 'ifx'}}
- name: Configure
run: |
module load intel/${INTEL_VERSION} impi/${INTEL_VERSION} netcdf/${NC_VERSION} hdf5
autoreconf -if ./configure.ac && mkdir build && cd build && ../configure
- name: Compile
run: |
module load intel/${INTEL_VERSION} impi/${INTEL_VERSION} netcdf/${NC_VERSION} hdf5
cd build && make -j || make
- name: Run test suite
run: |
module load intel/${INTEL_VERSION} impi/${INTEL_VERSION} netcdf/${NC_VERSION} hdf5
${MPI_LAUNCHER} -n 25 hostname > /dev/null
cd build && make check -k