Skip to content

Add Spack-based CI #227

Add Spack-based CI

Add Spack-based CI #227

Workflow file for this run

# This is a CI workflow for the NCEPLIBS-ip project.
#
# This workflow builds on Linux with different options.
#
# Ed Hartnett, 1/8/23
name: Linux
on:
push:
branches:
- develop
pull_request:
branches:
- develop
jobs:
Linux:
runs-on: ubuntu-latest
env:
FC: gfortran-10
CC: gcc-10
strategy:
matrix:
openmp: [ ON, OFF ]
options: [ -DBUILD_D=OFF, -DBUILD_4=OFF, -DBUILD_8=ON ]
steps:
- name: cache-sp
id: cache-sp
uses: actions/cache@v2
with:
path: ~/sp
key: sp-${{ runner.os }}-Linux-${{ matrix.openmp }}-2.3.3-1
- name: checkout-sp
if: steps.cache-sp.outputs.cache-hit != 'true'
uses: actions/checkout@v2
with:
repository: NOAA-EMC/NCEPLIBS-sp
path: sp
ref: v2.3.3
- name: build-sp
if: steps.cache-sp.outputs.cache-hit != 'true'
run: |
cd sp
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=~/sp -DOPENMP=${{ matrix.openmp }} ${{ matrix.options }} ..
make -j2
make install
- name: checkout
uses: actions/checkout@v2
with:
path: ip
submodules: true
- name: build
run: |
cd ip
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH="~/" -DOPENMP=${{ matrix.openmp }} ${{ matrix.options }} ..
make -j2
- name: test
run: |
cd $GITHUB_WORKSPACE/ip/build
ctest --verbose --output-on-failure --rerun-failed