]>
Commit | Line | Data |
---|---|---|
d7fbec21 | 1 | stages: |
46d858be AD |
2 | - build |
3 | - test | |
4 | - deploy | |
c79ca917 AD |
5 | ######################################################################################################################## |
6 | ####START#### PROJECT LEVEL VARIABLES ####START#### | |
7 | ######################################################################################################################## | |
fd4f2876 | 8 | variables: |
c7e78ec1 | 9 | VERSION: 0.4.0e |
522c4984 AD |
10 | VERUS_CLI_LINUX: Verus-CLI-Linux-v${VERSION}.tar.gz |
11 | VERUS_CLI_WINDOWS: Verus-CLI-Windows-v${VERSION}.zip | |
12 | VERUS_CLI_MACOS: Verus-CLI-MacOS-v${VERSION}.tar.gz | |
13 | DOWNSTREAM_AGAMA_BRANCH: ${CI_COMMIT_REF_NAME} | |
14 | POST_MESSAGE: "Source: ${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}\n | |
15 | Pipeline Trigger: ${CI_PIPELINE_SOURCE}\n | |
16 | Commit: ${CI_COMMIT_SHA}$\n | |
522c4984 | 17 | ${CI_COMMIT_MESSAGE}" |
c79ca917 AD |
18 | ######################################################################################################################## |
19 | ####END#### PROJECT LEVEL VARIABLES ####END#### | |
20 | ######################################################################################################################## | |
21 | ######################################################################################################################## | |
22 | ######################################################################################################################## | |
23 | ####START#### Build Stage: compile and package komodo binaries for Verus CLI ####START##### | |
24 | ######################################################################################################################## | |
25 | ######################################################################################################################## | |
26 | ####START#### LINUX ####START#### | |
27 | ######################################################################################################################## | |
2b198dc7 AD |
28 | build:linux: |
29 | image: asherd/verus-builders:verus-ubuntu | |
30 | variables: | |
31 | DOCKER_DRIVER: overlay2 | |
32 | stage: build | |
33 | cache: | |
34 | key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}" | |
35 | paths: | |
36 | - depends/built | |
37 | script: | |
38 | - zcutil/build.sh -j$(nproc) | |
39 | - mkdir verus-cli | |
40 | - cp src/komodod | |
41 | src/komodo-cli | |
08682464 | 42 | src/fiat/verus |
2b198dc7 AD |
43 | src/verusd |
44 | doc/man/verus-cli/linux/README.txt | |
45 | zcutil/fetch-params.sh | |
46 | verus-cli | |
47 | - mv verus-cli/fetch-params.sh verus-cli/fetch-params | |
48 | - chmod +x verus-cli/komodod | |
49 | - chmod +x verus-cli/komodo-cli | |
50 | - chmod +x verus-cli/verus | |
51 | - chmod +x verus-cli/verusd | |
52 | - chmod +x verus-cli/fetch-params | |
844637a5 | 53 | - if [ "${CI_COMMIT_REF_NAME}" = "master" ]; then strip -g verus-cli/komodod && strip -g verus-cli/komodod; fi |
2b198dc7 | 54 | - tar -czvf ${VERUS_CLI_LINUX} verus-cli |
fccddfea | 55 | - sha256sum ${VERUS_CLI_LINUX} > ${VERUS_CLI_LINUX}.sha256 |
2b198dc7 AD |
56 | - curl -F file=@"${VERUS_CLI_LINUX}" |
57 | -F channels="${CLI_POST_CHANNEL}" | |
58 | -F initial_comment="${POST_MESSAGE}" | |
59 | -H "${SLACK_BOT_AUTH}" | |
60 | "https://slack.com/api/files.upload" | |
61 | artifacts: | |
62 | paths: | |
63 | - ${VERUS_CLI_LINUX} | |
fccddfea | 64 | - ${VERUS_CLI_LINUX}.sha256 |
2b198dc7 | 65 | expire_in: 1 week |
c79ca917 AD |
66 | ######################################################################################################################## |
67 | ####END#### LINUX ####END#### | |
68 | ######################################################################################################################## | |
69 | ####START#### WINDOWS ####START#### | |
70 | ######################################################################################################################## | |
9892a176 | 71 | build:windows: |
925f4658 | 72 | image: asherd/verus-builders:verus-windows |
d7fbec21 AD |
73 | variables: |
74 | DOCKER_DRIVER: overlay2 | |
75 | stage: build | |
76 | cache: | |
c79ca917 | 77 | key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}" |
d7fbec21 AD |
78 | paths: |
79 | - depends/built | |
9892a176 | 80 | script: |
5ce49ee3 | 81 | - zcutil/build-win.sh -j$(nproc) |
522c4984 AD |
82 | - mkdir verus-cli |
83 | - cp src/komodod.exe | |
c79ca917 AD |
84 | src/komodo-cli.exe |
85 | src/komodo-tx.exe | |
08682464 | 86 | src/fiat/verus.bat |
6954882c | 87 | src/verusd.bat |
c79ca917 AD |
88 | doc/man/verus-cli/windows/README.txt |
89 | zcutil/fetch-params.bat | |
90 | zcutil/wget64.exe | |
91 | verus-cli | |
522c4984 | 92 | - zip -r ${VERUS_CLI_WINDOWS} verus-cli |
fccddfea | 93 | - sha256sum ${VERUS_CLI_WINDOWS} > ${VERUS_CLI_WINDOWS}.sha256 |
522c4984 AD |
94 | - curl -F file=@"${VERUS_CLI_WINDOWS}" |
95 | -F channels="${CLI_POST_CHANNEL}" | |
96 | -F initial_comment="${POST_MESSAGE}" | |
5ce49ee3 AD |
97 | -H "${SLACK_BOT_AUTH}" |
98 | "https://slack.com/api/files.upload" | |
d7fbec21 | 99 | artifacts: |
522c4984 AD |
100 | paths: |
101 | - ${VERUS_CLI_WINDOWS} | |
fccddfea | 102 | - ${VERUS_CLI_WINDOWS}.sha256 |
d7fbec21 | 103 | expire_in: 1 week |
c79ca917 AD |
104 | ######################################################################################################################## |
105 | ####END#### WINDOWS ####END#### | |
106 | ######################################################################################################################## | |
107 | ####START#### MACOS ####START#### | |
108 | ######################################################################################################################## | |
46d858be | 109 | build:mac: |
d7fbec21 | 110 | stage: build |
e7f4832f | 111 | tags: ["High Sierra"] |
d7fbec21 | 112 | cache: |
c79ca917 | 113 | key: "${CI_JOB_NAME}${CI_COMMIT_REF_NAME}" |
d7fbec21 AD |
114 | paths: |
115 | - depends/built | |
9892a176 | 116 | script: |
522c4984 | 117 | - zcutil/build-mac.sh -j$(sysctl -n hw.physicalcpu) |
b748ba7f | 118 | - ./makeReleaseMac.sh |
522c4984 | 119 | - tar -czvf ${VERUS_CLI_MACOS} verus-cli |
fccddfea | 120 | - sha256sum ${VERUS_CLI_MACOS} > ${VERUS_CLI_MACOS}.sha256 |
522c4984 AD |
121 | - curl -F file=@"${VERUS_CLI_MACOS}" |
122 | -F channels="${CLI_POST_CHANNEL}" | |
123 | -F initial_comment="${POST_MESSAGE}" | |
5ce49ee3 AD |
124 | -H "${SLACK_BOT_AUTH}" |
125 | "https://slack.com/api/files.upload" | |
d7fbec21 | 126 | artifacts: |
522c4984 AD |
127 | paths: |
128 | - ${VERUS_CLI_MACOS} | |
fccddfea | 129 | - ${VERUS_CLI_MACOS}.sha256 |
d7fbec21 | 130 | expire_in: 1 week |
c79ca917 AD |
131 | ######################################################################################################################## |
132 | ####END#### MACOS ####END#### | |
133 | ######################################################################################################################## | |
134 | ######################################################################################################################## | |
135 | ####END#### Build Stage ####END#### | |
136 | ######################################################################################################################## | |
137 | ######################################################################################################################## | |
138 | ######################################################################################################################## | |
139 | ######################################################################################################################## | |
140 | ####START#### Test stage: Test functionality of komodo binaries. Produce code quality and SAST reports. ####START#### | |
141 | ######################################################################################################################## | |
142 | ######################################################################################################################## | |
143 | ######################################################################################################################## | |
144 | ####START#### Code Quality ####START#### | |
145 | ######################################################################################################################## | |
384d6360 | 146 | code_quality: |
9892a176 AD |
147 | image: docker:stable |
148 | variables: | |
149 | DOCKER_DRIVER: overlay2 | |
150 | allow_failure: true | |
151 | services: | |
46d858be | 152 | - docker:stable-dind |
9892a176 | 153 | script: |
46d858be AD |
154 | - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') |
155 | - docker run | |
156 | --env SOURCE_CODE="$PWD" | |
157 | --volume "$PWD":/code | |
158 | --volume /var/run/docker.sock:/var/run/docker.sock | |
159 | "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code | |
9892a176 AD |
160 | artifacts: |
161 | paths: [gl-code-quality-report.json] | |
c79ca917 AD |
162 | ######################################################################################################################## |
163 | ####END#### Code Quality ####END#### | |
164 | ######################################################################################################################## | |
165 | ######################################################################################################################## | |
166 | ####START#### Static Application Security Tests ####START#### | |
167 | ######################################################################################################################## | |
384d6360 | 168 | sast: |
9892a176 AD |
169 | image: docker:stable |
170 | variables: | |
171 | DOCKER_DRIVER: overlay2 | |
172 | allow_failure: true | |
173 | services: | |
46d858be | 174 | - docker:stable-dind |
9892a176 | 175 | script: |
46d858be AD |
176 | - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') |
177 | - docker run | |
178 | --env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}" | |
179 | --volume "$PWD:/code" | |
180 | --volume /var/run/docker.sock:/var/run/docker.sock | |
181 | "registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code | |
9892a176 AD |
182 | artifacts: |
183 | paths: [gl-sast-report.json] | |
c79ca917 AD |
184 | ######################################################################################################################## |
185 | ####END#### Static Application Security Tests ####END#### | |
186 | ######################################################################################################################## | |
187 | ######################################################################################################################## | |
188 | ####START#### Run Verus CLI on Ubuntu Xenial (16.04) ####START#### | |
189 | ######################################################################################################################## | |
384d6360 | 190 | ubuntu:xenial: |
e7f4832f AD |
191 | image: ubuntu:xenial |
192 | variables: | |
193 | DOCKER_DRIVER: overlay2 | |
194 | stage: test | |
195 | before_script: | |
c79ca917 | 196 | - apt update && apt install -y wget libgomp1 libcurl4-gnutls-dev python |
81b6f9a5 AD |
197 | - rm -rf /root/.komodo || true |
198 | - mv .komodo /root/ || true | |
e7f4832f | 199 | script: |
522c4984 | 200 | - tar -xzvf ${VERUS_CLI_LINUX} |
46d858be AD |
201 | - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli |
202 | - python qa/verus-cli-tests/verus-cli-tester.py | |
81b6f9a5 AD |
203 | after_script: |
204 | - mv /root/.komodo ./ || true | |
205 | cache: | |
206 | key: ${CI_JOB_NAME} | |
207 | paths: [.komodo] | |
e7f4832f AD |
208 | artifacts: |
209 | paths: [log.txt] | |
210 | expire_in: 1 week | |
211 | dependencies: | |
46d858be | 212 | - build:linux |
c79ca917 AD |
213 | ######################################################################################################################## |
214 | ####END#### Run Verus CLI on Ubuntu Xenial (16.04) ####END#### | |
215 | ######################################################################################################################## | |
216 | ######################################################################################################################## | |
217 | ####START#### Run Verus CLI on Ubuntu Bionic (18.04) ####START#### | |
218 | ######################################################################################################################## | |
384d6360 | 219 | ubuntu:bionic: |
e7f4832f AD |
220 | image: ubuntu:bionic |
221 | variables: | |
222 | DOCKER_DRIVER: overlay2 | |
223 | stage: test | |
224 | before_script: | |
c79ca917 | 225 | - apt update && apt install -y wget libgomp1 libcurl4-gnutls-dev python |
81b6f9a5 AD |
226 | - rm -rf /root/.komodo || true |
227 | - mv .komodo /root/ || true | |
e7f4832f | 228 | script: |
522c4984 | 229 | - tar -xzvf ${VERUS_CLI_LINUX} |
46d858be AD |
230 | - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli |
231 | - python qa/verus-cli-tests/verus-cli-tester.py | |
81b6f9a5 AD |
232 | after_script: |
233 | - mv /root/.komodo ./ || true | |
234 | cache: | |
235 | key: ${CI_JOB_NAME} | |
236 | paths: [.komodo] | |
e7f4832f AD |
237 | artifacts: |
238 | paths: [log.txt] | |
239 | expire_in: 1 week | |
240 | dependencies: | |
46d858be | 241 | - build:linux |
c79ca917 AD |
242 | ######################################################################################################################## |
243 | ####END#### Run Verus CLI on Ubuntu Bionic (18.04) ####END#### | |
244 | ######################################################################################################################## | |
245 | ######################################################################################################################## | |
246 | ####START#### Run Verus CLI on MacOS Sierra (10.12.6) ####START#### | |
247 | ######################################################################################################################## | |
248 | .macos:sierra: | |
e7f4832f AD |
249 | stage: test |
250 | tags: ["Sierra"] | |
251 | script: | |
46d858be AD |
252 | - tar -xzvf $VERUS_CLI_MACOS |
253 | - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli | |
254 | - python qa/verus-cli-tests/verus-cli-tester.py | |
e7f4832f AD |
255 | artifacts: |
256 | paths: [log.txt] | |
257 | expire_in: 1 week | |
258 | dependencies: | |
46d858be | 259 | - build:mac |
c79ca917 AD |
260 | ######################################################################################################################## |
261 | ####END#### Run Verus CLI on MacOS Sierra (10.12.6) ####END#### | |
262 | ######################################################################################################################## | |
263 | ######################################################################################################################## | |
264 | ####START#### Run Verus CLI on MacOS High Sierra (10.12.6) ####START#### | |
265 | ######################################################################################################################## | |
522c4984 | 266 | .macos:high-sierra: |
e7f4832f AD |
267 | stage: test |
268 | tags: ["High Sierra"] | |
269 | script: | |
522c4984 | 270 | - tar -xzvf ${VERUS_CLI_MACOS} |
46d858be AD |
271 | - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli |
272 | - python qa/verus-cli-tests/verus-cli-tester.py | |
e7f4832f AD |
273 | artifacts: |
274 | paths: [log.txt] | |
275 | expire_in: 1 week | |
276 | dependencies: | |
46d858be | 277 | - build:mac |
c79ca917 AD |
278 | ######################################################################################################################## |
279 | ####START#### Run Verus CLI on MacOS High Sierra (10.12.6) ####START#### | |
280 | ######################################################################################################################## | |
281 | ######################################################################################################################## | |
282 | ####START#### Run Verus CLI on Windows 10 ####START#### | |
283 | ######################################################################################################################## | |
4474ce24 | 284 | .windows:10: |
e7f4832f AD |
285 | stage: test |
286 | tags: ["Windows 10"] | |
287 | script: | |
46d858be AD |
288 | - PowerShell Expand-Archive -Path %VERUS_CLI_WINDOWS% -DestinationPath %CI_PROJECT_DIR% |
289 | - set PATH=%PATH%;%CI_PROJECT_DIR%\verus-cli | |
290 | - qa\verus-cli-tests\verus-cli-tester.py | |
e7f4832f AD |
291 | artifacts: |
292 | paths: [log.txt] | |
293 | expire_in: 1 week | |
294 | dependencies: | |
46d858be | 295 | - build:windows |
c79ca917 AD |
296 | ######################################################################################################################## |
297 | ####END#### Run Verus CLI on Windows 10 ####END#### | |
298 | ######################################################################################################################## | |
299 | ######################################################################################################################## | |
300 | ####END#### Test Stage ####END#### | |
301 | ######################################################################################################################## | |
302 | ######################################################################################################################## | |
303 | ####START#### Deploy ####START#### | |
304 | ######################################################################################################################## | |
5ce49ee3 | 305 | deploy: |
e96d89da AD |
306 | stage: deploy |
307 | image: google/cloud-sdk:alpine | |
308 | variables: | |
309 | DOCKER_DRIVER: overlay2 | |
310 | dependencies: | |
46d858be | 311 | - build:linux |
0af1486c | 312 | - build:windows |
0af1486c | 313 | - build:mac |
0af1486c | 314 | script: |
5ce49ee3 | 315 | - mkdir Windows && mkdir Linux && mkdir MacOS && |
522c4984 AD |
316 | mv ${VERUS_CLI_WINDOWS} Windows && |
317 | mv ${VERUS_CLI_LINUX} Linux && | |
318 | mv ${VERUS_CLI_MACOS} MacOS | |
5ce49ee3 AD |
319 | - echo "$AUTH_KEY" > AUTH_KEY.json && |
320 | gcloud auth activate-service-account | |
321 | --key-file AUTH_KEY.json | |
b8a246d3 | 322 | - gsutil cp -r Windows Linux MacOS $STAGING/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/ |
5ce49ee3 AD |
323 | - curl -X POST |
324 | -F token="$CI_JOB_TOKEN" | |
522c4984 | 325 | -F ref="$DOWNSTREAM_AGAMA_BRANCH" |
c7e78ec1 AD |
326 | -F variables\[UPSTREAM_TRIGGER]="${CI_PROJECT_NAME}" |
327 | -F variables\[VERUS_CLI_LINUX\]="${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/${VERUS_CLI_LINUX}" | |
328 | -F variables\[VERUS_CLI_WINDOWS\]="${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/${VERUS_CLI_WINDOWS}" | |
329 | -F variables\[VERUS_CLI_MACOS\]="${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}/${VERUS_CLI_MACOS}" | |
5ce49ee3 | 330 | "https://gitlab.com/api/v4/projects/8018592/trigger/pipeline" |
c79ca917 AD |
331 | ######################################################################################################################## |
332 | ####END#### Deploy ####END#### | |
333 | ######################################################################################################################## |