forked from Blockstream/green_qt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
156 lines (146 loc) · 3.65 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
image: greenaddress/ci@sha256:6b3a6391beb90fca5fcd1def459d70ba3bb0fd2dca5ae377ad306bc233717e1d
stages:
- build
- signartifacts
- deploy
bionic_release:
tags:
- ga
stage: build
script:
- ./tools/buildgreen.sh linux
- mkdir build-linux-gcc
- cp /docker_bld_root/*/Green build-linux-gcc/
- cp /docker_bld_root/*/Green-x86_64.AppImage build-linux-gcc/
artifacts:
name: "$CI_PROJECT_NAME-$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 1 day
when: always
paths:
- build-linux-gcc/Green
- build-linux-gcc/Green-x86_64.AppImage
windows_release:
tags:
- ga
stage: build
script:
- ./tools/buildgreen.sh windows
- mkdir -p build-mingw-w64/release
- cp /docker_bld_root/*/release/Green.exe build-mingw-w64/release/
artifacts:
name: "$CI_PROJECT_NAME-$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 1 day
when: always
paths:
- build-mingw-w64/release/Green.exe
osx_release:
tags:
- osx
stage: build
script:
- cd $CI_PROJECT_DIR
- ./tools/buildgreen.sh osx
cache:
key: build-cache-osx
paths:
- build-osx-clang/gdk-*/gdk.h
- build-osx-clang/gdk-*/build.done
- build-osx-clang/gdk-*/libgreenaddress_full.a
- build-osx-clang/qt-release*
artifacts:
name: "$CI_PROJECT_NAME-$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 1 day
when: always
paths:
- build-osx-clang/Green.app
bionic_allsymbolsunstripped_manual:
extends: bionic_release
stage: build
when: manual
script:
- ./tools/bionic_deps.sh
- ./tools/buildgreen.sh linux allsymbolsunstripped
osx_allsymbolsunstripped_manual:
extends: osx_release
stage: build
when: manual
script:
- cd $CI_PROJECT_DIR
- ./tools/buildgreen.sh osx allsymbolsunstripped
windows_allsymbolsunstripped_manual:
extends: windows_release
stage: build
when: manual
script:
- ./tools/bionic_deps.sh
- ./tools/buildgreen.sh windows allsymbolsunstripped
osx_sign:
tags:
- osxsigner
only:
- /^release_.*/
stage: signartifacts
variables:
GIT_STRATEGY: none
artifacts:
name: "$CI_PROJECT_NAME-$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 1 day
when: always
paths:
- build-osx-clang/GreenQt_MacOSX_x86_64.zip
needs:
- osx_release
script:
- cd $CI_PROJECT_DIR
- ./tools/osxsign.sh
- cd build-osx-clang
- ../tools/osxstaple.sh
windows_sign:
tags:
- garelease
only:
- /^release_.*/
stage: signartifacts
variables:
GIT_STRATEGY: none
artifacts:
name: "$CI_PROJECT_NAME-$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 1 day
when: always
paths:
- build-mingw-w64/release/GreenSigned.exe
needs:
- windows_release
script:
- cd $CI_PROJECT_DIR/build-mingw-w64/release
- /opt/process_release_windows
package_release:
tags:
- garelease
only:
- /^release_.*/
stage: deploy
variables:
GIT_STRATEGY: none
artifacts:
name: "$CI_PROJECT_NAME-$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
expire_in: 14 days
paths:
- $CI_PROJECT_DIR/green_qt_dist
when: on_success
script:
- cd $CI_PROJECT_DIR
- rm -fr green_qt_dist
- mkdir green_qt_dist
- mv build-mingw-w64/release/GreenSigned.exe Green.exe
- zip -j green_qt_dist/GreenQt_Windows_x86_64.zip Green.exe
- (cd build-osx-clang; mv GreenQt_MacOSX_x86_64.zip ../green_qt_dist)
- chmod +x build-linux-gcc/Green
- tar czf green_qt_dist/GreenQt_Linux_x86_64.tar.gz -C build-linux-gcc Green
- tar czf green_qt_dist/GreenQt_AppImage_x86_64.tar.gz -C build-linux-gcc Green-x86_64.AppImage
- cd green_qt_dist
- /opt/process_release
needs:
- bionic_release
- osx_sign
- windows_sign