Skip to content

CMake & Spack updates #244

CMake & Spack updates

CMake & Spack updates #244

Workflow file for this run

# This is a CI workflow for the NCEPLIBS-ip project.
#
# This workflow builds with all developer options, including address
# sanitizer and code coverage.
#
# Ed Hartnett, 1/8/23
name: developer
on:
push:
branches:
- develop
pull_request:
branches:
- develop
jobs:
developer:
runs-on: ubuntu-latest
env:
FC: gfortran-11
CC: gcc-11
steps:
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install doxygen
python3 -m pip install gcovr
- name: checkout-sp
uses: actions/checkout@v2
with:
repository: NOAA-EMC/NCEPLIBS-sp
path: sp
- name: build-sp
run: |
cd sp
mkdir build
cd build
cmake -DOPENMP=ON -DCMAKE_INSTALL_PREFIX=~/sp -DBUILD_8=ON ..
make -j2
make install
- name: checkout
uses: actions/checkout@v2
with:
path: ip
- name: build
run: |
cd ip
mkdir build
cd build
cmake -DENABLE_DOCS=YES -DCMAKE_PREFIX_PATH="~/" -DOPENMP=ON -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=ON -DBUILD_8=ON ..
make -j2 VERBOSE=1
- name: test
run: |
cd $GITHUB_WORKSPACE/ip/build
ctest -j2 --verbose --output-on-failure --rerun-failed
- name: run-gcovr
run: |
cd $GITHUB_WORKSPACE/ip/build
gcovr -r .. -v --html-details --exclude ../tests --exclude CMakeFiles --print-summary -o test-coverage.html
- name: upload-test-coverage
uses: actions/upload-artifact@v2
with:
name: test-coverage
path: |
ip/build/*.html
ip/build/*.css
- uses: actions/upload-artifact@v2
with:
name: docs
path: |
ip/build/docs/html