@@ -234,12 +234,22 @@ function dist_macos_app {
234
234
notarize_mac " $dmg_path "
235
235
fi
236
236
237
+ # GPG sign .dmg
238
+ if [[ " $SIGN " != " false" ]]; then
239
+ gpg_sign " $dmg_path "
240
+ fi
241
+
237
242
# Move to dist dir
238
243
log_info " Moving final artifacts to $DIST_DIR "
239
244
rm -rf " $DIST_DIR /$FILENAME .app/"
240
245
rm -rf " $DIST_DIR /$FILENAME .dmg"
246
+ rm -rf " $DIST_DIR /$FILENAME .dmg.asc"
241
247
mv " $app_path " " $DIST_DIR /"
242
248
mv " $dmg_path " " $DIST_DIR /"
249
+
250
+ if [[ " $SIGN " != " false" ]]; then
251
+ mv " $dmg_path .asc" " $DIST_DIR /"
252
+ fi
243
253
}
244
254
245
255
# Notarize and staple a file.
@@ -284,13 +294,32 @@ function sign_win {
284
294
done
285
295
}
286
296
297
+ # Sign a file using gpg.
298
+ # Arguments:
299
+ # - file to sign
300
+ function gpg_sign {
301
+ local file=" $1 "
302
+ log_info " Signing $file with gpg -> $file .asc"
303
+ gpg -u " $CODE_SIGNING_KEY_FINGERPRINT " --pinentry-mode loopback --sign --armor --detach-sign " $file "
304
+ }
305
+
287
306
# Copy executable and optionally sign it.
288
307
function dist_windows_app {
289
308
cp " $CARGO_TARGET_DIR /release/installer-downloader.exe" " $BUILD_DIR /$FILENAME .exe"
309
+
290
310
if [[ " $SIGN " != " false" ]]; then
291
311
sign_win " $BUILD_DIR /$FILENAME .exe"
312
+ gpg_sign " $BUILD_DIR /$FILENAME .exe"
292
313
fi
314
+
315
+ log_info " Moving final artifacts to $DIST_DIR "
316
+ rm -rf " $DIST_DIR /$FILENAME .exe"
317
+ rm -rf " $DIST_DIR /$FILENAME .exe.asc"
318
+
293
319
mv " $BUILD_DIR /$FILENAME .exe" " $DIST_DIR /"
320
+ if [[ " $SIGN " != " false" ]]; then
321
+ mv " $BUILD_DIR /$FILENAME .exe.asc" " $DIST_DIR /"
322
+ fi
294
323
}
295
324
296
325
function main {
0 commit comments