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