Skip to content

Add Spack-based CI workflow #87

Add Spack-based CI workflow

Add Spack-based CI workflow #87

Workflow file for this run

# This is a CI workflow for the NCEPLIBS-w3emc project.
#
# This workflow builds on Linux with different CMake build options.
#
# Ed Hartnett, 1/8/23
name: Linux_options
on:
push:
branches:
- develop
pull_request:
branches:
- develop
jobs:
Linux_options:
runs-on: ubuntu-latest
env:
FC: gfortran-11
CC: gcc-11
strategy:
matrix:
options: [-DBUILD_D=OFF, -DBUILD_4=OFF, '-D-DBUILD_SHARED_LIBS=ON -DBUILD_WITH_BUFR=OFF -DBUILD_WITH_EXTRA_DEPS=OFF']
steps:
- name: checkout-bacio
uses: actions/checkout@v2
with:
repository: NOAA-EMC/NCEPLIBS-bacio
path: bacio
ref: v2.5.0
- name: cache-bacio
id: cache-bacio
uses: actions/cache@v2
with:
path: ~/bacio
key: bacio-Linux_options_${{ runner.os }}-v2.5.0
- name: build-bacio
if: steps.cache-bacio.outputs.cache-hit != 'true'
run: |
cd bacio
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=~/bacio ..
make -j2 VERBOSE=1
make install
- name: checkout-bufr
uses: actions/checkout@v2
with:
repository: NOAA-EMC/NCEPLIBS-bufr
path: bufr
ref: bufr_v11.7.1
- name: cache-bufr
id: cache-bufr
uses: actions/cache@v2
with:
path: ~/bufr
key: bufr-Linux_options_${{ runner.os }}-v11.7.1
- name: build-bufr
if: steps.cache-bufr.outputs.cache-hit != 'true'
run: |
cd bufr
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=~/bufr ..
make -j2 VERBOSE=1
make install
- name: checkout-w3emc
uses: actions/checkout@v2
with:
path: w3emc
- name: build-w3emc
run: |
cd w3emc
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH="~/bacio;~/bufr" ${{ matrix.options }} ..
make -j2 VERBOSE=1
- name: test-w3emc
run: |
cd w3emc/build
ctest --output-on-failure --rerun-failed --verbose