Skip to content

Commit

Permalink
test spack-package-test
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexanderRichert-NOAA committed Apr 2, 2024
1 parent 30beaa0 commit 4e8f50c
Showing 1 changed file with 9 additions and 29 deletions.
38 changes: 9 additions & 29 deletions .github/workflows/Spack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,45 +15,25 @@ on:
branches:
- develop

env:
ACTIONS_STEP_DEBUG: true

jobs:
# This job builds with Spack using every combination of variants and runs the CTest suite each time
Spack:
strategy:
matrix:
os: ["ubuntu-latest"]
variants: ["+openmp +shared +pic precision=d", "+openmp ~shared ~pic precision=4", "~openmp ~shared +pic precision=8"]
# variants: ["+openmp +shared +pic precision=d", "+openmp ~shared ~pic precision=4", "~openmp ~shared +pic precision=8"]
runs-on: ${{ matrix.os }}

steps:

- name: checkout-ip
uses: actions/checkout@v4
with:
path: ip

- name: spack-build-and-test
run: |
sudo apt install libopenblas-serial-dev
git clone -c feature.manyFiles=true https://github.com/spack/spack
. spack/share/spack/setup-env.sh
spack env create ip-env
spack env activate ip-env
cp $GITHUB_WORKSPACE/ip/spack/package.py $SPACK_ROOT/var/spack/repos/builtin/packages/ip/package.py
spack develop --no-clone --path $GITHUB_WORKSPACE/ip ip@develop
spack add ip@develop%gcc@11 ${{ matrix.variants }} target=x86_64
precision=$(echo ${{ matrix.variants }} | grep -oP " precision=\K[4d8]")
if [ "$precision" == "d" ]; then spack add grib-util@develop ; fi
spack external find cmake gmake
spack external find --path /usr/lib/x86_64-linux-gnu/openblas-serial openblas
spack config add "packages:lapack:buildable:false"
spack concretize
# Run installation and run CTest suite
spack install --fail-fast --test root
# Run 'spack load' and check that key build options were respected
spack load ip
if [[ "${{ matrix.variants }}" =~ "+shared" ]]; then suffix="so" ; else suffix="a"; fi
libvar=IP_LIB${precision}
ls ${!libvar} | grep -cE "/libip_${precision}\."$suffix'$'
- name: "Test with Spack"
uses: AlexanderRichert-NOAA/spack-package-test@v1
with:
package-name: ip
dependents-to-test: grib-util

# This job validates the Spack recipe by making sure each cmake build option is represented
recipe-check:
Expand Down

0 comments on commit 4e8f50c

Please sign in to comment.