forked from erf-model/ERF
-
Notifications
You must be signed in to change notification settings - Fork 0
96 lines (82 loc) · 2.65 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
name: ERF CI
on:
push:
# branches: [development]
paths-ignore:
- Docs
- README.rst
- license.txt
pull_request:
branches: [development]
concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-ci
cancel-in-progress: true
jobs:
Build-And-Test:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest]
include:
- os: ubuntu-latest
install_deps: sudo apt-get install mpich libmpich-dev
comp: gnu
procs: $(nproc)
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup
run: |
# echo "::add-matcher::.github/problem-matchers/gcc.json"
echo "NPROCS=${{matrix.procs}}" >> $GITHUB_ENV
# cmake -E make_directory ${{runner.workspace}}/deps
- name: Handle Dependencies
run: |
# Install MPI
${{matrix.install_deps}}
- name: Configure CMake
run: |
cmake \
-B${{runner.workspace}}/ERF/build-${{matrix.os}} \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/ERF/install \
-DCMAKE_BUILD_TYPE:STRING=Debug \
-DERF_DIM:STRING=3 \
-DERF_ENABLE_MPI:BOOL=ON \
-DERF_ENABLE_TESTS:BOOL=ON \
-DERF_ENABLE_ALL_WARNINGS:BOOL=ON \
-DERF_ENABLE_FCOMPARE:BOOL=ON \
${{github.workspace}};
# ${{matrix.mpipreflags}} \
# -DCODECOVERAGE:BOOL=ON \
- name: Build
run: |
cmake --build ${{runner.workspace}}/ERF/build-${{matrix.os}} --parallel ${{env.NPROCS}};
- name: Regression Tests
run: |
ctest -L regression -VV
working-directory: ${{runner.workspace}}/ERF/build-${{matrix.os}}
# Raf: disabled Codecov since the dashboard and GitHub comments were buggy,
# but it may be useful to post the gcov coverage reports to GitHub Actions
# artifacts.
# Note: if reenabling Codecov, the reports must be in xml format not html.
# - name: Generate coverage report
# working-directory: ${{runner.workspace}}/ERF/build-${{matrix.os}}
# run: |
# find . -type f -name '*.gcno' -path "**Source**" -exec gcov -pb {} +
# cd ..
# gcovr -g -k -r . --xml regressioncov.html # -v
# - name: Success artifacts
# uses: actions/upload-artifact@v3
# if: success()
# with:
# name: build-and-test
# path: |
# ${{runner.workspace}}/ERF/regressioncov.html
# - name: Failing test artifacts
# uses: actions/upload-artifact@v3
# if: failure()
# with:
# name: build-and-test
# path: |
# ${{runner.workspace}}/ERF/regressioncov.html