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