-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
168 lines (168 loc) · 4.75 KB
/
.gitlab-ci.yml
File metadata and controls
168 lines (168 loc) · 4.75 KB
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# You can override the included template(s) by including variable overrides
# See https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings
# Note that environment variables can be set in several places
# See https://docs.gitlab.com/ee/ci/variables/#priority-of-environment-variables
include:
- template: Security/License-Scanning.gitlab-ci.yml
image: silkeh/clang
stages:
- test
- deploy
- fuzz
build_wizard:
stage: test
before_script:
- apt-get update --yes
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev
script:
- cd wizard
- cmake .
- make all
- cmake -DCMAKE_BUILD_TYPE=Debug .
- make all
- cd ..
build_ap:
stage: test
before_script:
- apt-get update --yes
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev
script:
- cd antarctica_pyramids
- cmake .
- make all
- cmake -DCMAKE_BUILD_TYPE=Debug .
- make all
- cd ..
build_filetest:
stage: test
before_script:
- apt-get update --yes
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev
script:
- cd filetest
- cmake .
- make all
- cmake -DCMAKE_BUILD_TYPE=Debug .
- make all
- cd ..
build_tests:
stage: test
before_script:
- apt-get update --yes
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev
script:
- cd tests
- cmake .
- make all
- cmake -DCMAKE_BUILD_TYPE=Debug .
- make all
- cd ..
run_tests:
stage: test
before_script:
- apt-get update --yes
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev xvfb
script:
- cd tests
- cmake .
- make all
- xvfb-run ./tests
- cmake -DCMAKE_BUILD_TYPE=Debug .
- make all
- xvfb-run ./tests
- cd ..
create_project:
stage: test
before_script:
- apt-get update --yes
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev xvfb
script:
- cd wizard
- cmake .
- make all
- xvfb-run ./wizard create test_project
- cd ../../test_project
- cmake .
- make all
- cd ..
include:
- template: Coverage-Fuzzing.gitlab-ci.yml
- template: Security/SAST.gitlab-ci.yml
variables:
SAST_EXCLUDED_ANALYZERS: "semgrep"
fuzz_wav:
extends: ".fuzz_base"
image: silkeh/clang
variables:
COVFUZZ_SEED_CORPUS: "./fuzz_tests/wav_corpus"
script:
- pwd
- apt-get update -qq && apt-get install -y -qq git
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev xvfb
- export CC=`which clang`
- export CXX=`which clang++`
- export VERBOSE=1
- mkdir fuzz_tests/wav_corpus && cp wizard/data/*.wav fuzz_tests/wav_corpus
- mkdir -p build && cd build
- cmake ../fuzz_tests -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' -DCMAKE_BUILD_TYPE=AddressSanitizer
&& make all && cd ..
- "./gitlab-cov-fuzz run --regression=$REGRESSION -- ./build/fuzz_harness -max_total_time=600"
fuzz_csv:
extends: ".fuzz_base"
image: silkeh/clang
variables:
COVFUZZ_SEED_CORPUS: "./fuzz_tests/csv_corpus"
script:
- apt-get update -qq && apt-get install -y -qq git
- apt-get install --yes libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev xvfb
- export CC=`which clang`
- export CXX=`which clang++`
- export VERBOSE=1
- mkdir fuzz_tests/csv_corpus && cp wizard/data/*.csv fuzz_tests/csv_corpus
- mkdir -p build && cd build
- TEST_NAME=fuzz_csv cmake ../fuzz_tests -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0'
-DCMAKE_BUILD_TYPE=AddressSanitizer && make all && cd ..
- "./gitlab-cov-fuzz run --regression=$REGRESSION -- ./build/fuzz_csv -max_total_time=600"
fuzz_tga:
extends: ".fuzz_base"
image: silkeh/clang
variables:
COVFUZZ_SEED_CORPUS: "./fuzz_tests/tga_corpus"
script:
- apt-get update -qq && apt-get install -y -qq git
- apt-get install --yes cmake clang libasound2-dev libglu1-mesa-dev freeglut3-dev
libglfw3-dev libgles2-mesa-dev xvfb
- export CC=`which clang`
- export CXX=`which clang++`
- export VERBOSE=1
- mkdir fuzz_tests/tga_corpus && cp wizard/data/*.tga fuzz_tests/tga_corpus
- mkdir -p build && cd build
- TEST_NAME=fuzz_tga cmake ../fuzz_tests -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0'
-DCMAKE_BUILD_TYPE=AddressSanitizer && make all && cd ..
- "./gitlab-cov-fuzz run --regression=$REGRESSION -- ./build/fuzz_tga -max_total_time=600"
pages:
stage: deploy
cache: {}
image: php:7-cli-alpine
before_script:
- apk update
- apk add doxygen ttf-freefont graphviz
script:
- cd doc
- doxygen ./Doxyfile
- mv ./html/ ../public/
artifacts:
paths:
- public
only:
- master
sast:
stage: test