]> Git Repo - VerusCoin.git/blame - .gitlab-ci.yml
Merge branch 'dev' of https://github.com/veruscoin/veruscoin into dev
[VerusCoin.git] / .gitlab-ci.yml
CommitLineData
d7fbec21 1stages:
46d858be
AD
2- build
3- test
4- deploy
586f0bd4 5
fd4f2876 6variables:
81b6f9a5
AD
7 VERSION: 0.3.13
8 VERUS_CLI_LINUX: "verus-cli-linux-v${VERSION}-beta.tar.gz"
9 VERUS_CLI_WINDOWS: "verus-cli-windows-v${VERSION}-beta.zip"
10 VERUS_CLI_MACOS: "verus-cli-mac-v${VERSION}-beta.tar.gz"
11 POST_COMMENT: "Branch: ${CI_COMMIT_REF_NAME} Commit: ${CI_COMMIT_SHA}"
46d858be
AD
12
13build:linux:
d7fbec21 14 image: asherd/veruscoin-cross-compiler:linux
d7fbec21
AD
15 variables:
16 DOCKER_DRIVER: overlay2
17 stage: build
e7f4832f 18 before_script: # Setup Cache
eddc1d45
AD
19 - rm -rf /root/.ccache || true
20 - mv .ccache /root/ || true
9892a176 21 script:
eddc1d45
AD
22 - zcutil/build.sh -j4
23 - cp src/komodod src/komodo-cli kmd/linux/verus-cli
eddc1d45 24 - chmod +x kmd/linux/verus-cli/komodod
81b6f9a5
AD
25 kmd/linux/verus-cli/komodo-cli
26 kmd/linux/verus-cli/verus
27 kmd/linux/verus-cli/verusd
28 kmd/linux/verus-cli/fetch-params
eddc1d45 29 - dos2unix kmd/linux/verus-cli/README.txt
46d858be 30 - tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX verus-cli ./
e7f4832f 31 after_script:
eddc1d45 32 - mv /root/.ccache ./ || true
e7f4832f
AD
33 cache:
34 key: ${CI_JOB_NAME}
35 paths:
36 - depends/built
37 - .ccache
d7fbec21
AD
38 artifacts:
39 paths:
46d858be 40 - $VERUS_CLI_LINUX
d7fbec21
AD
41 expire_in: 1 week
42
6116053b 43
9892a176 44build:windows:
d7fbec21 45 image: asherd/veruscoin-cross-compiler:latest
d7fbec21
AD
46 variables:
47 DOCKER_DRIVER: overlay2
48 stage: build
49 cache:
50 key: ${CI_JOB_NAME}
51 paths:
52 - depends/built
9892a176 53 - .ccache
d7fbec21 54 - .cargo
d7fbec21 55 before_script:
46d858be
AD
56 - mkdir .ccache || echo ccache exists
57 - ln -s $PWD/.ccache /root/.ccache
58 - mkdir .zcash-params || echo zcash-params exists
59 - mkdir .cargo || echo .cargo exists
60 - ln -s $PWD/.cargo /root/.cargo
9892a176 61 script:
81b6f9a5 62 - zcutil/build-win.sh -j4
46d858be
AD
63 - cp src/komodod.exe src/komodo-cli.exe src/komodo-tx.exe kmd/windows/verus-cli
64 - cd kmd/windows/
65 - zip -r $VERUS_CLI_WINDOWS verus-cli
66 - mv $VERUS_CLI_WINDOWS ../..
d7fbec21 67 artifacts:
81b6f9a5 68 paths: [$VERUS_CLI_WINDOWS]
d7fbec21
AD
69 expire_in: 1 week
70
6116053b 71
46d858be 72build:mac:
d7fbec21 73 stage: build
e7f4832f 74 tags: ["High Sierra"]
d7fbec21
AD
75 cache:
76 key: ${CI_JOB_NAME}
77 paths:
78 - depends/built
9892a176 79 script:
46d858be
AD
80 - brew bundle
81 - zcutil/build-mac.sh | xcpretty
81b6f9a5 82 - ./makeReleaseMac.sh -j6
46d858be
AD
83 - dos2unix kmd/mac/verus-cli/README.txt
84 - tar -C kmd/mac/ -czvf $VERUS_CLI_MACOS verus-cli ./
d7fbec21 85 artifacts:
81b6f9a5 86 paths: [$VERUS_CLI_MACOS]
d7fbec21 87 expire_in: 1 week
9892a176 88
6116053b 89
81b6f9a5 90code_quality:
9892a176
AD
91 image: docker:stable
92 variables:
93 DOCKER_DRIVER: overlay2
94 allow_failure: true
95 services:
46d858be 96 - docker:stable-dind
9892a176 97 script:
46d858be
AD
98 - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
99 - docker run
100 --env SOURCE_CODE="$PWD"
101 --volume "$PWD":/code
102 --volume /var/run/docker.sock:/var/run/docker.sock
103 "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
9892a176
AD
104 artifacts:
105 paths: [gl-code-quality-report.json]
106
6116053b 107
81b6f9a5 108sast:
9892a176
AD
109 image: docker:stable
110 variables:
111 DOCKER_DRIVER: overlay2
112 allow_failure: true
113 services:
46d858be 114 - docker:stable-dind
9892a176 115 script:
46d858be
AD
116 - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
117 - docker run
118 --env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}"
119 --volume "$PWD:/code"
120 --volume /var/run/docker.sock:/var/run/docker.sock
121 "registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
9892a176
AD
122 artifacts:
123 paths: [gl-sast-report.json]
46d858be 124
e96d89da 125
e7f4832f 126
81b6f9a5 127license_management:
e7f4832f
AD
128 image: docker:stable
129 variables:
130 DOCKER_DRIVER: overlay2
131 allow_failure: true
132 services:
46d858be 133 - docker:stable-dind
e7f4832f 134 script:
46d858be
AD
135 - export LICENSE_MANAGEMENT_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
136 - docker run
137 --volume "$PWD:/code"
138 "registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION" analyze /code
e7f4832f
AD
139 artifacts:
140 paths: [gl-license-management-report.json]
141
5f48c779 142
81b6f9a5 143ubuntu:xenial:
e7f4832f
AD
144 image: ubuntu:xenial
145 variables:
146 DOCKER_DRIVER: overlay2
147 stage: test
148 before_script:
46d858be 149 - apt update && apt install -y wget g++-multilib libcurl3 python
81b6f9a5
AD
150 - rm -rf /root/.komodo || true
151 - mv .komodo /root/ || true
e7f4832f 152 script:
46d858be
AD
153 - tar -xzvf $VERUS_CLI_LINUX
154 - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
155 - python qa/verus-cli-tests/verus-cli-tester.py
81b6f9a5
AD
156 after_script:
157 - mv /root/.komodo ./ || true
158 cache:
159 key: ${CI_JOB_NAME}
160 paths: [.komodo]
e7f4832f
AD
161 artifacts:
162 paths: [log.txt]
163 expire_in: 1 week
164 dependencies:
46d858be 165 - build:linux
e7f4832f
AD
166
167
81b6f9a5 168ubuntu:bionic:
e7f4832f
AD
169 image: ubuntu:bionic
170 variables:
171 DOCKER_DRIVER: overlay2
172 stage: test
173 before_script:
46d858be 174 - apt update && apt install -y wget g++-multilib libcurl3 python
81b6f9a5
AD
175 - rm -rf /root/.komodo || true
176 - mv .komodo /root/ || true
e7f4832f 177 script:
46d858be
AD
178 - tar -xzvf $VERUS_CLI_LINUX
179 - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
180 - python qa/verus-cli-tests/verus-cli-tester.py
81b6f9a5
AD
181 after_script:
182 - mv /root/.komodo ./ || true
183 cache:
184 key: ${CI_JOB_NAME}
185 paths: [.komodo]
e7f4832f
AD
186 artifacts:
187 paths: [log.txt]
188 expire_in: 1 week
189 dependencies:
46d858be 190 - build:linux
e7f4832f
AD
191
192
66e6ec96 193.osx:sierra: # fetch-params.sh needs to be fixed for MacOS
e7f4832f
AD
194 stage: test
195 tags: ["Sierra"]
196 script:
46d858be
AD
197 - tar -xzvf $VERUS_CLI_MACOS
198 - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
199 - python qa/verus-cli-tests/verus-cli-tester.py
e7f4832f
AD
200 artifacts:
201 paths: [log.txt]
202 expire_in: 1 week
203 dependencies:
46d858be 204 - build:mac
e7f4832f
AD
205
206
66e6ec96 207.osx:high-sierra: # fetch-params.sh needs to be fixed for MacOS
e7f4832f
AD
208 stage: test
209 tags: ["High Sierra"]
210 script:
46d858be
AD
211 - tar -xzvf $VERUS_CLI_MACOS
212 - export PATH=$PATH:$CI_PROJECT_DIR/verus-cli
213 - python qa/verus-cli-tests/verus-cli-tester.py
e7f4832f
AD
214 artifacts:
215 paths: [log.txt]
216 expire_in: 1 week
217 dependencies:
46d858be 218 - build:mac
e7f4832f
AD
219
220
4474ce24 221.windows:10:
e7f4832f
AD
222 stage: test
223 tags: ["Windows 10"]
224 script:
46d858be
AD
225 - PowerShell Expand-Archive -Path %VERUS_CLI_WINDOWS% -DestinationPath %CI_PROJECT_DIR%
226 - set PATH=%PATH%;%CI_PROJECT_DIR%\verus-cli
227 - qa\verus-cli-tests\verus-cli-tester.py
e7f4832f
AD
228 artifacts:
229 paths: [log.txt]
230 expire_in: 1 week
231 dependencies:
46d858be 232 - build:windows
586f0bd4 233
e7f4832f 234
e96d89da
AD
235deploy:
236 stage: deploy
237 image: google/cloud-sdk:alpine
238 variables:
239 DOCKER_DRIVER: overlay2
240 dependencies:
46d858be
AD
241 - build:linux
242 - build:windows
243 - build:mac
e96d89da 244 script:
81b6f9a5
AD
245 - curl -F file=@"$VERUS_CLI_LINUX"
246 -F channels="$CLI_POST_CHANNEL"
247 -F initial_comment="${POST_COMMENT}"
248 -H "${SLACK_BOT_AUTH}"
249 "https://slack.com/api/files.upload"
250 - curl -F file=@"$VERUS_CLI_WINDOWS"
251 -F channels="$CLI_POST_CHANNEL"
252 -F initial_comment="${POST_COMMENT}"
253 -H "${SLACK_BOT_AUTH}"
254 "https://slack.com/api/files.upload"
255 - curl -F file=@"$VERUS_CLI_MACOS"
256 -F channels="$CLI_POST_CHANNEL"
257 -F initial_comment="${POST_COMMENT}"
258 -H "${SLACK_BOT_AUTH}"
259 "https://slack.com/api/files.upload"
46d858be
AD
260 - mkdir Windows
261 - mkdir Linux
262 - mkdir MacOS
81b6f9a5
AD
263 - mv $VERUS_CLI_WINDOWS Windows
264 - mv $VERUS_CLI_LINUX Linux
265 - mv $VERUS_CLI_MACOS MacOS
46d858be 266 - echo "$AUTH_KEY" > AUTH_KEY.json
81b6f9a5
AD
267 - gcloud auth activate-service-account
268 --key-file AUTH_KEY.json
46d858be 269 - gsutil cp -r Windows Linux MacOS $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/
81b6f9a5
AD
270 - curl -X POST
271 -F token="$CI_JOB_TOKEN"
272 -F ref=master
273 -F variables\[CLI_VERSION\]="$VERSION"
274 -F variables\[AGAMA_VERSION\]="$VERSION"
275 "https://gitlab.com/api/v4/projects/8018638/trigger/pipeline"
6116053b 276
This page took 0.064843 seconds and 4 git commands to generate.