Skip to content

cleaned up workflow #482

cleaned up workflow

cleaned up workflow #482

Workflow file for this run

name: developer
on:
push:
branches:
- develop
pull_request:
branches:
- develop
# Cancel in-progress workflows when pushing to a branch
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
developer:
runs-on: ubuntu-latest
env:
CC: gcc
CXX: g++
strategy:
fail-fast: true
matrix:
config: ["asan/code coverage", "memcheck"]
steps:
- name: install-dependencies
run: |
sudo apt-get update
sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev doxygen libopenjp2-7-dev valgrind libaec-dev
python3 -m pip install gcovr
- name: "Build dependencies"
uses: NOAA-EMC/ci-build-nceplibs@develop
with:
jasper-version: version-4.0.0
- name: checkout
uses: actions/checkout@v4
with:
path: g2c
- name: cache-data
id: cache-data
uses: actions/cache@v4
with:
path: ~/data
key: data-2
- name: asan
if: matrix.config == 'asan/code coverage'
run: |
set -x
export CC=gcc
cmake -S g2c -B g2c/build -DUSE_AEC=ON -DJasper_ROOT=$GITHUB_WORKSPACE/nceplibs/jasper -DBUILD_G2C=ON -DLOGGING=On -DENABLE_DOCS=On -DPTHREADS=ON -DFTP_TEST_FILES=ON -DFTP_LARGE_TEST_FILES=OFF -DTEST_FILE_DIR=/home/runner/data -DCMAKE_BUILD_TYPE=Debug
cmake --build g2c/build --parallel 2 --verbose
ctest --test-dir g2c/build --verbose --output-on-failure --rerun-failed
gcovr --root g2c -v --html-details --exclude g2c/tests --exclude g2c/build/CMakeFiles --print-summary -o test-coverage.html
ls -l
- name: memcheck
if: matrix.config == 'memcheck'
run: |
set -x
export LD_LIBRARY_PATH="/home/runner/jasper/lib:$LD_LIBRARY_PATH"
cmake -S g2c -B g2c/build -DUSE_AEC=ON -DJasper_ROOT=$GITHUB_WORKSPACE/nceplibs/jasper -DBUILD_G2C=ON -DLOGGING=On -DENABLE_DOCS=On -DPTHREADS=ON -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DCMAKE_BUILD_TYPE=Debug
cmake --build g2c/build --parallel 2 --verbose
ctest --test-dir g2c/build
ls -l g2c/build
- name: cache-data
if: steps.cache-data.outputs.cache-hit != 'true'
run: |
mkdir ~/data
cp $GITHUB_WORKSPACE/g2c/build/tests/data/* ~/data
- name: upload-test-coverage
if: matrix.config == 'asan/code coverage'
uses: actions/upload-artifact@v4
with:
name: g2c-test-coverage
path: |
*.html
*.css