CI workflow updates and migrate container #164
Workflow file for this run
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
on: [push, pull_request] | |
jobs: | |
build-dependencies: | |
runs-on: ubuntu-latest | |
container: | |
image: intel/oneapi-hpckit:2023.1.0-devel-ubuntu20.04 | |
env: | |
CC: mpiicc | |
FC: mpiifort | |
CFLAGS: "-I/libs/include" | |
FCFLAGS: "-I/libs/include -g -traceback" | |
LDFLAGS: "-L/libs/lib" | |
steps: | |
- name: Cache dependencies | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: /libs | |
key: ${{ runner.os }}-intel-libs${{ matrix.io-flag }} | |
- name: Install packages for building | |
run: apt-get update && apt-get install -y autoconf libtool automake zlibc zlib1g-dev | |
- if: steps.cache.outputs.cache-hit != 'true' | |
name: Build netcdf | |
run: | | |
mkdir /libs | |
wget https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_12_2/source/hdf5-1.12.2.tar.gz | |
tar xf hdf5-1.12.2.tar.gz && cd hdf5-1.12.2 | |
./configure --prefix=/libs | |
make -j install && cd .. | |
wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.8.1.tar.gz | |
tar xf v4.8.1.tar.gz && cd netcdf-c-4.8.1 | |
./configure --prefix=/libs --enable-remote-fortran-bootstrap | |
make -j install | |
# sets this here to pass embeded configure checks | |
export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" | |
make -j -k build-netcdf-fortran | |
make -j install-netcdf-fortran | |
wget https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz | |
tar xf yaml-0.2.5.tar.gz && cd yaml-0.2.5 | |
./configure --prefix=/libs | |
make -j install && cd | |
make-check-fms: | |
needs: build-dependencies | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
FC: ["ifx", "ifort"] | |
CC: ["icx", "icc"] | |
target-fcflags: [ "-O3 -debug minimal -fp-model source", "-g -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fpe0 -ftrapuv" ] # prod, debug | |
target-cflags: [ "-O2 -debug minimal", "-O0 -g -ftrapuv" ] # prod, debug | |
io-flag: ["--disable-deprecated-io", "--enable-deprecated-io"] | |
exclude: | |
- FC: "ifx" | |
CC: "icc" | |
- target-fcflags: "-O3 -debug minimal -fp-model source" | |
target-cflags: "-O0 -g -ftrapuv" | |
- target-fcflags: "-g -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fpe0 -ftrapuv" | |
target-cflags: "-O2 -debug minimal" | |
- FC: "ifx" # bug with ifx will cause ICE if using -check flag (issue #1348) | |
target-cflags: "-g -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fpe0 -ftrapuv" | |
container: | |
image: intel/oneapi-hpckit:2023.1.0-devel-ubuntu20.04 | |
env: | |
CC: mpicc -cc=${{ matrix.CC }} | |
FC: mpifc -fc=${{ matrix.FC }} | |
CFLAGS: "-I/libs/include ${{ matrix.target-cflags }}" | |
FCFLAGS: "-I/libs/include ${{ matrix.target-fcflags }}" | |
LDFLAGS: "-L/libs/lib" | |
TEST_VERBOSE: 1 | |
I_MPI_FABRICS: "shm" # needed for mpi in image | |
SKIP_TESTS: "test_fms2_io.2" # TODO compressed writes test fails with ifx | |
steps: | |
- name: Get dependencies from cache | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: /libs | |
key: ${{ runner.os }}-intel-libs | |
- name: Install packages for building | |
run: apt-get update && apt-get install -y autoconf libtool automake zlibc zlib1g-dev zip | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: Configure | |
run: autoreconf -if ./configure.ac && ./configure --with-yaml ${{ matrix.io-flag }} | |
- name: Compile | |
run: make -j || make | |
- name: Run test suite | |
run: make distcheck LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" TEST_VERBOSE=1 |