@@ -22,6 +22,14 @@ echo "Parity version: " $VER
22
22
echo " Branch: " $CI_BUILD_REF_NAME
23
23
echo " --------------------"
24
24
25
+ echo " Rhash version:"
26
+ # NOTE for md5 and sha256 we want to display filename as well
27
+ # hence we use --* instead of -p *
28
+ MD5_BIN=" rhash --md5"
29
+ SHA256_BIN=" rhash --sha256"
30
+ # NOTE For SHA3 we need only hash (hence -p)
31
+ SHA3_BIN=" rhash -p %{sha3-256}"
32
+
25
33
set_env () {
26
34
echo " Set ENVIROMENT"
27
35
export HOST_CC=gcc
@@ -52,26 +60,34 @@ build () {
52
60
echo " Build ethkey-cli:"
53
61
cargo build --target $PLATFORM --release -p ethkey-cli
54
62
}
55
- strip_md5 () {
63
+ strip_binaries () {
56
64
echo " Strip binaries:"
57
65
$STRIP_BIN -v target/$PLATFORM /release/parity
58
66
$STRIP_BIN -v target/$PLATFORM /release/parity-evm
59
67
$STRIP_BIN -v target/$PLATFORM /release/ethstore
60
68
$STRIP_BIN -v target/$PLATFORM /release/ethkey;
61
- export SHA3=$( rhash --sha3-256 target/$PLATFORM /release/parity -p %h)
69
+ }
70
+ calculate_checksums () {
62
71
echo " Checksum calculation:"
72
+ rhash --version
63
73
rm -rf * .md5
64
74
rm -rf * .sha256
65
- export SHA3=$( rhash --sha3-256 target/$PLATFORM /release/parity -p %h)
66
- echo " Parity file SHA3:" $SHA3
67
- md5sum target/$PLATFORM /release/parity > parity.md5
68
- sha256sum target/$PLATFORM /release/parity > parity.sha256
69
- md5sum target/$PLATFORM /release/parity-evm > parity-evm.md5
70
- sha256sum target/$PLATFORM /release/parity-evm > parity-evm.sha256
71
- md5sum target/$PLATFORM /release/ethstore > ethstore.md5
72
- sha256sum target/$PLATFORM /release/ethstore > ethstore.sha256
73
- md5sum target/$PLATFORM /release/ethkey > ethkey.md5
74
- sha256sum target/$PLATFORM /release/ethkey > ethkey.sha256
75
+
76
+ export SHA3=" $( $SHA3_BIN target/$PLATFORM /release/parity$S3WIN ) "
77
+ # NOTE rhash 1.3.1 doesnt support keccak, workaround
78
+ if [ " $SHA3 " == " %{sha3-256}" ]; then
79
+ export SHA3=" $( target/$PLATFORM /release/parity$S3WIN tools hash target/$PLATFORM /release/parity$S3WIN ) "
80
+ fi
81
+
82
+ echo " Parity file SHA3: $SHA3 "
83
+ $MD5_BIN target/$PLATFORM /release/parity$S3WIN > parity$S3WIN .md5
84
+ $SHA256_BIN target/$PLATFORM /release/parity$S3WIN > parity$S3WIN .sha256
85
+ $MD5_BIN target/$PLATFORM /release/parity-evm$S3WIN > parity-evm$S3WIN .md5
86
+ $SHA256_BIN target/$PLATFORM /release/parity-evm$S3WIN > parity-evm$S3WIN .sha256
87
+ $MD5_BIN target/$PLATFORM /release/ethstore$S3WIN > ethstore$S3WIN .md5
88
+ $SHA256_BIN target/$PLATFORM /release/ethstore$S3WIN > ethstore$S3WIN .sha256
89
+ $MD5_BIN target/$PLATFORM /release/ethkey$S3WIN > ethkey$S3WIN .md5
90
+ $SHA256_BIN target/$PLATFORM /release/ethkey$S3WIN > ethkey$S3WIN .sha256
75
91
}
76
92
make_deb () {
77
93
rm -rf deb
@@ -106,8 +122,8 @@ make_deb () {
106
122
cp target/$PLATFORM /release/ethstore deb/usr/bin/ethstore
107
123
cp target/$PLATFORM /release/ethkey deb/usr/bin/ethkey
108
124
dpkg-deb -b deb " parity_" $VER " _" $IDENT " _" $ARC " .deb"
109
- md5sum " parity_" $VER " _" $IDENT " _" $ARC " .deb" > " parity_" $VER " _" $IDENT " _" $ARC " .deb.md5"
110
- sha256sum " parity_" $VER " _" $IDENT " _" $ARC " .deb" > " parity_" $VER " _" $IDENT " _" $ARC " .deb.sha256"
125
+ $MD5_BIN " parity_" $VER " _" $IDENT " _" $ARC " .deb" > " parity_" $VER " _" $IDENT " _" $ARC " .deb.md5"
126
+ $SHA256_BIN " parity_" $VER " _" $IDENT " _" $ARC " .deb" > " parity_" $VER " _" $IDENT " _" $ARC " .deb.sha256"
111
127
}
112
128
make_rpm () {
113
129
rm -rf /install
@@ -116,10 +132,12 @@ make_rpm () {
116
132
cp target/$PLATFORM /release/parity-evm /install/usr/bin/parity-evm
117
133
cp target/$PLATFORM /release/ethstore /install/usr/bin/ethstore
118
134
cp target/$PLATFORM /release/ethkey /install/usr/bin/ethkey
135
+
136
+ rm -rf " parity-" $VER " -1." $ARC " .rpm" || true
119
137
fpm -s dir -t rpm -n parity -v
$VER --epoch 1 --license GPLv3 -d openssl --provides parity --url https://parity.io --vendor
" Parity Technologies" -a x86_64 -m
" <[email protected] >" --description
" Ethereum network client by Parity Technologies" -C /install/
120
138
cp " parity-" $VER " -1." $ARC " .rpm" " parity_" $VER " _" $IDENT " _" $ARC " .rpm"
121
- md5sum " parity_" $VER " _" $IDENT " _" $ARC " .rpm" > " parity_" $VER " _" $IDENT " _" $ARC " .rpm.md5"
122
- sha256sum " parity_" $VER " _" $IDENT " _" $ARC " .rpm" > " parity_" $VER " _" $IDENT " _" $ARC " .rpm.sha256"
139
+ $MD5_BIN " parity_" $VER " _" $IDENT " _" $ARC " .rpm" > " parity_" $VER " _" $IDENT " _" $ARC " .rpm.md5"
140
+ $SHA256_BIN " parity_" $VER " _" $IDENT " _" $ARC " .rpm" > " parity_" $VER " _" $IDENT " _" $ARC " .rpm.sha256"
123
141
}
124
142
make_pkg () {
125
143
echo " make PKG"
@@ -133,24 +151,13 @@ make_pkg () {
133
151
packagesbuild -v mac/Parity.pkgproj
134
152
productsign --sign ' Developer ID Installer: PARITY TECHNOLOGIES LIMITED (P2PX3JU8FT)' target/release/Parity\ Ethereum.pkg target/release/Parity\ Ethereum-signed.pkg
135
153
mv target/release/Parity\ Ethereum-signed.pkg " parity_" $VER " _" $ARC " .pkg"
136
- md5sum " parity_" $VER " _" $ARC " ." $EXT >> " parity_" $VER " _" $ARC " .pkg.md5"
137
- sha256sum " parity_" $VER " _" $ARC " ." $EXT >> " parity_" $VER " _" $ARC " .pkg.sha256"
154
+ $MD5_BIN " parity_" $VER " _" $ARC " ." $EXT >> " parity_" $VER " _" $ARC " .pkg.md5"
155
+ $SHA256_BIN " parity_" $VER " _" $ARC " ." $EXT >> " parity_" $VER " _" $ARC " .pkg.sha256"
138
156
}
139
- make_exe () {
157
+ sign_exe () {
140
158
./sign.cmd $keyfile $certpass " target/$PLATFORM /release/parity.exe"
141
- SHA3=$( rhash --sha3-256 target/$PLATFORM /release/parity.exe -p %h)
142
- echo " Checksum calculation:"
143
- rm -rf * .md5
144
- rm -rf * .sha256
145
- echo " Parity file SHA3:" $SHA3
146
- rhash --md5 target/$PLATFORM /release/parity.exe -p %h > parity.exe.md5
147
- rhash --sha256 target/$PLATFORM /release/parity.exe -p %h > parity.exe.sha256
148
- rhash --md5 target/$PLATFORM /release/parity-evm.exe -p %h > parity-evm.exe.md5
149
- rhash --sha256 target/$PLATFORM /release/parity-evm.exe -p %h > parity-evm.exe.sha256
150
- rhash --md5 target/$PLATFORM /release/ethstore.exe -p %h > ethstore.exe.md5
151
- rhash --sha256 target/$PLATFORM /release/ethstore.exe -p %h > ethstore.exe.sha256
152
- rhash --md5 target/$PLATFORM /release/ethkey.exe -p %h > ethkey.exe.md5
153
- rhash --sha256 target/$PLATFORM /release/ethkey.exe -p %h > ethkey.exe.sha256
159
+ }
160
+ make_exe () {
154
161
./msbuild.cmd
155
162
./sign.cmd $keyfile $certpass windows/ptray/x64/release/ptray.exe
156
163
cd nsis
@@ -160,8 +167,8 @@ make_exe () {
160
167
cd ..
161
168
cp nsis/installer.exe " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT
162
169
./sign.cmd $keyfile $certpass " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT
163
- rhash --md5 " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT -p %h > " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT " .md5"
164
- rhash --sha256 " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT -p %h > " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT " .sha256"
170
+ $MD5_BIN " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT -p %h > " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT " .md5"
171
+ $SHA256_BIN " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT -p %h > " parity_" $VER " _" $IDENT " _" $ARC " ." $EXT " .sha256"
165
172
}
166
173
push_binaries () {
167
174
echo " Push binaries to AWS S3"
@@ -195,100 +202,108 @@ make_archive () {
195
202
rm -rf parity.zip
196
203
zip -r parity.zip target/$PLATFORM /release/parity$S3WIN target/$PLATFORM /release/parity-evm$S3WIN target/$PLATFORM /release/ethstore$S3WIN target/$PLATFORM /release/ethkey$S3WIN parity$S3WIN .md5 parity-evm$S3WIN .md5 ethstore$S3WIN .md5 ethkey$S3WIN .md5 parity$S3WIN .sha256 parity-evm$S3WIN .sha256 ethstore$S3WIN .sha256 ethkey$S3WIN .sha256
197
204
}
198
- push_release () {
205
+
206
+ updater_push_release () {
199
207
echo " push release"
200
- curl --data " commit=$CI_BUILD_REF &sha3=$SHA3 &filename=parity&secret=$RELEASES_SECRET " http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME /$PLATFORM
201
- curl --data " commit=$CI_BUILD_REF &sha3=$SHA3 &filename=parity&secret=$RELEASES_SECRET " http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME /$PLATFORM
208
+
209
+ DATA=" commit=$CI_BUILD_REF &sha3=$SHA3 &filename=parity$S3WIN &secret=$RELEASES_SECRET "
210
+ # Mainnet
211
+ source scripts/safe_curl.sh $DATA " http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME /$BUILD_PLATFORM "
212
+ # Kovan
213
+ source scripts/safe_curl.sh $DATA " http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME /$BUILD_PLATFORM "
202
214
}
215
+
203
216
case $BUILD_PLATFORM in
204
217
x86_64-unknown-linux-gnu)
205
218
# set strip bin
206
219
STRIP_BIN=" strip"
207
220
# package extention
208
221
EXT=" deb"
209
222
build
210
- strip_md5
223
+ strip_binaries
224
+ calculate_checksums
211
225
make_deb
212
226
make_archive
213
227
push_binaries
214
- push_release
228
+ updater_push_release
215
229
;;
216
230
x86_64-unknown-debian-gnu)
217
231
STRIP_BIN=" strip"
218
232
EXT=" deb"
219
233
LIBSSL=" libssl1.1 (>=1.1.0)"
220
234
echo " Use libssl1.1 (>=1.1.0) for Debian builds"
221
235
build
222
- strip_md5
236
+ strip_binaries
237
+ calculate_checksums
223
238
make_deb
224
239
make_archive
225
240
push_binaries
226
- push_release
227
241
;;
228
242
x86_64-unknown-centos-gnu)
229
243
STRIP_BIN=" strip"
230
244
EXT=" rpm"
231
245
build
232
- strip_md5
246
+ strip_binaries
247
+ calculate_checksums
233
248
make_rpm
234
249
make_archive
235
250
push_binaries
236
- push_release
237
251
;;
238
252
i686-unknown-linux-gnu)
239
253
STRIP_BIN=" strip"
240
254
EXT=" deb"
241
255
set_env
242
256
build
243
- strip_md5
257
+ strip_binaries
258
+ calculate_checksums
244
259
make_deb
245
260
make_archive
246
261
push_binaries
247
- push_release
248
262
;;
249
263
armv7-unknown-linux-gnueabihf)
250
264
STRIP_BIN=" arm-linux-gnueabihf-strip"
251
265
EXT=" deb"
252
266
set_env
253
267
build
254
- strip_md5
268
+ strip_binaries
269
+ calculate_checksums
255
270
make_deb
256
271
make_archive
257
272
push_binaries
258
- push_release
259
273
;;
260
274
arm-unknown-linux-gnueabihf)
261
275
STRIP_BIN=" arm-linux-gnueabihf-strip"
262
276
EXT=" deb"
263
277
set_env
264
278
build
265
- strip_md5
279
+ strip_binaries
280
+ calculate_checksums
266
281
make_deb
267
282
make_archive
268
283
push_binaries
269
- push_release
270
284
;;
271
285
aarch64-unknown-linux-gnu)
272
286
STRIP_BIN=" aarch64-linux-gnu-strip"
273
287
EXT=" deb"
274
288
set_env
275
289
build
276
- strip_md5
290
+ strip_binaries
291
+ calculate_checksums
277
292
make_deb
278
293
make_archive
279
294
push_binaries
280
- push_release
281
295
;;
282
296
x86_64-apple-darwin)
283
297
STRIP_BIN=" strip"
284
298
PLATFORM=" x86_64-apple-darwin"
285
299
EXT=" pkg"
286
300
build
287
- strip_md5
301
+ strip_binaries
302
+ calculate_checksums
288
303
make_pkg
289
304
make_archive
290
305
push_binaries
291
- push_release
306
+ updater_push_release
292
307
;;
293
308
x86_64-unknown-snap-gnu)
294
309
cd snap
@@ -298,17 +313,19 @@ case $BUILD_PLATFORM in
298
313
sed -i ' s/master/' " $VER " ' /g' snapcraft.yaml
299
314
snapcraft
300
315
cp " parity_" $CI_BUILD_REF_NAME " _amd64.snap" " parity_" $VER " _amd64.snap"
301
- md5sum " parity_" $VER " _amd64.snap" > " parity_" $VER " _amd64.snap.md5"
302
- sha256sum " parity_" $VER " _amd64.snap" > " parity_" $VER " _amd64.snap.sha256"
316
+ $MD5_BIN " parity_" $VER " _amd64.snap" > " parity_" $VER " _amd64.snap.md5"
317
+ $SHA256_BIN " parity_" $VER " _amd64.snap" > " parity_" $VER " _amd64.snap.sha256"
303
318
push_binaries
304
319
;;
305
320
x86_64-pc-windows-msvc)
306
321
set_env_win
307
322
EXT=" exe"
308
323
S3WIN=" .exe"
309
324
build
325
+ sign_exe
326
+ calculate_checksums
310
327
make_exe
311
328
make_archive
312
329
push_binaries
313
- push_release
330
+ updater_push_release
314
331
esac
0 commit comments