]> Git Repo - VerusCoin.git/blame - .gitlab-ci.yml
Updating version
[VerusCoin.git] / .gitlab-ci.yml
CommitLineData
d7fbec21 1stages:
46d858be
AD
2- build
3- test
4- deploy
c79ca917
AD
5########################################################################################################################
6####START#### PROJECT LEVEL VARIABLES ####START####
7########################################################################################################################
fd4f2876 8variables:
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
28build: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 71build: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 109build: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 146code_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 168sast:
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 190ubuntu: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 219ubuntu: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 305deploy:
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########################################################################################################################
This page took 0.074031 seconds and 4 git commands to generate.