-
Notifications
You must be signed in to change notification settings - Fork 5
78 lines (67 loc) · 1.84 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
name: build
on:
push:
paths-ignore:
- 'docs/**'
jobs:
test:
runs-on: ubuntu-24.04
name: Build and test
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install ubuntu dependencies
run: >
sudo apt-get install -y
check
lcov
ninja-build
valgrind
- name: Install meson and coveralls
run: pip install meson cpp-coveralls
- name: Meson setup
run: meson -Db_coverage=true builddir
- name: Ninja build
run: ninja -C builddir
- name: Normal test
id: normal_test
run: meson test -C builddir
- name: Valgring test
id: valgring_test
run: >
meson test
-C builddir
--wrap='valgrind --leak-check=full --error-exitcode=1'
-t 3
env:
CK_DEFAULT_TIMEOUT: 0
- name: After failure
uses: actions/upload-artifact@v3
with:
name: meson-testlog
path: builddir/meson-logs/
if: >
failure() &&
(steps.normal_test.outcome == 'failure' ||
steps.valgring_test.outcome == 'failure')
- name: Run lcov and send data to coveralls
run: >
coveralls
--repo-token ${{ secrets.COVERALLS }}
--root .
--build-root builddir
--exclude builddir/meson-private
--exclude subprojects
--exclude tests
--exclude src/log.c
--exclude src/logger.c
--exclude src/main.c
--exclude src/make_vcf.c
--exclude src/merge_call.c
--exclude src/process_sample.c
--exclude src/sam.c
--exclude src/thpool.c
--exclude-pattern '.+\.h$'
--gcov-options '\-lp'