-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #470 from NOAA-FIMS/242-codecov-rebase
Created get-gtest-codecov to create coverage.xml report for issue #242
- Loading branch information
Showing
1 changed file
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Get GoogleTest code coverage | ||
name: get-gtest-codecov | ||
# on specifies the build triggers. See more info at https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
paths-ignore: | ||
- .devcontainer | ||
- .github | ||
- 'LICENSE' | ||
- 'README.md' | ||
- 'CONTRIBUTING.md' | ||
- 'Rbuildignore' | ||
- '.gitignore' | ||
- 'man' | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Install Ninja | ||
run: sudo apt-get install ninja-build | ||
- uses: r-lib/actions/setup-r@v2 | ||
- uses: r-lib/actions/setup-r-dependencies@v2 | ||
with: | ||
extra-packages: any::remotes | ||
- name: install local version of FIMS | ||
run: remotes::install_local(upgrade = "always") | ||
shell: Rscript {0} | ||
- name: setup for gtest | ||
run: FIMS:::setup_gtest() | ||
shell: Rscript {0} | ||
#note: the following configure, build and test steps could instead | ||
# be run from r using FIMS::setup_and_run_gtest() | ||
- name: Configure | ||
# Do not run -DBUILD_DOC=OFF locally. Only run cmake -S . -B build -G Ninja locally. | ||
run: | | ||
cmake -S . -B build -DBUILD_DOC=OFF -G Ninja | ||
- name: Build | ||
run: | | ||
cmake --build build --parallel 16 | ||
- name: Test | ||
run: | | ||
ctest --test-dir build --parallel 16 | ||
- name: Install gcovr | ||
run: | | ||
pip install gcovr | ||
- name: Run gcovr | ||
run: | | ||
gcovr --exclude tests/ --cobertura coverage.xml | ||
- name: save coverage report | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: coverage.xml | ||
path: coverage.xml | ||
|
||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v3 | ||
with: | ||
files: coverage.xml | ||
|
||
|
||
|