-
Notifications
You must be signed in to change notification settings - Fork 3
146 lines (134 loc) · 3.28 KB
/
test.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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
name: test
on:
- push
- pull_request
jobs:
linux-gcc-sanitize:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
env:
CC: gcc
run: |
./configure --pedantic --sanitize
make -j`nproc` test
linux-gcc-4:
runs-on: ubuntu-22.04
container: ghcr.io/mptre/gcc:4
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
env:
CC: gcc
CFLAGS: -O2 -Werror
run: |
# Skip pedantic due to compiler being ancient.
./configure
make -j`nproc` test
linux-clang-sanitize:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
env:
CC: clang
run: |
./configure --pedantic --sanitize
make -j`nproc` test
macos-clang-sanitize:
runs-on: macos-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
env:
CC: clang
run: |
./configure --pedantic --sanitize
make -j`sysctl -n hw.logicalcpu` test
valgrind:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: dependenices
run: sudo apt-get update && sudo apt-get install valgrind
- name: test
env:
CC: gcc
EXEC: valgrind
VALGRIND_OPTS: --quiet --error-exitcode=1 --leak-check=full --errors-for-leak-kinds=all --show-leak-kinds=all
run: |
./configure --pedantic
make -j`nproc` test
musl:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: dependenices
run: sudo apt-get update && sudo apt-get install musl-tools
- name: test
env:
CC: musl-gcc
run: |
./configure --pedantic
make -j`nproc` test
ndebug:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
env:
CC: gcc
CPPFLAGS: -DNDEBUG
run: |
./configure --pedantic
make -j`nproc` test
fuzz:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: dependenices
run: sudo apt-get update && sudo apt-get install afl
- name: test
env:
CC: afl-gcc
run: |
./configure --pedantic --fuzz afl
make -j`nproc` fuzz
clang-tidy:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@v2
- name: clang-tidy
run: |
./configure --pedantic
make lint-clang-tidy
cppcheck:
runs-on: ubuntu-22.04
container: ghcr.io/mptre/cppcheck:latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: cppcheck
run: |
./configure --pedantic
make lint-cppcheck
include-what-you-use:
runs-on: ubuntu-22.04
container: ghcr.io/mptre/include-what-you-use:latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: include-what-you-use
run: |
./configure --pedantic
make lint-include-what-you-use