Skip to content

fix shared library build #119

fix shared library build

fix shared library build #119

Workflow file for this run

# This is a CI workflow for the NCEPLIBS-w3emc 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 install doxygen
python3 -m pip install gcovr
- name: checkout-bacio
uses: actions/checkout@v2
with:
repository: NOAA-EMC/NCEPLIBS-bacio
path: bacio
ref: develop
- name: build-bacio
run: |
cd bacio
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio
make -j2
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
make install
- name: checkout-w3emc
uses: actions/checkout@v2
with:
path: w3emc
- name: build-w3emc
run: |
set -x
doxygen --version
cd w3emc
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX="~/w1" -DCMAKE_PREFIX_PATH="~/;~/bacio;~/bufr" -DENABLE_DOCS=ON -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0 -fsanitize=address -Wall" -DCMAKE_C_FLAGS="-g -fprofile-arcs -ftest-coverage -O0 -fsanitize=address -Wall" -DCMAKE_BUILD_TYPE=Debug -DBUILD_8=ON ..
make -j2
- name: test-w3emc
run: |
cd w3emc/build
ctest --output-on-failure --rerun-failed --verbose
make install
ls -l ~/w1
ls -l ~/w1/lib
- name: generate-test-coverage
run: |
cd w3emc/build
gcovr -r .. --html-details -o test-coverage.html
- uses: actions/upload-artifact@v2
with:
name: w3emc-test-coverage
path: |
w3emc/build/*.html
w3emc/build/*.css
- uses: actions/upload-artifact@v2
with:
name: docs
path: |
bufr/build/docs/html