Merge pull request #9950 from f321x/support_3rd_party_signers_release_sh
release.sh: better support for 3rd party signers
This commit is contained in:
@@ -6,8 +6,9 @@
|
||||
# - assumes all keys are available, and signs everything
|
||||
# This script, for other builders:
|
||||
# - builds all reproducible binaries,
|
||||
# - downloads binaries built by the release manager (from airlock), compares and signs them,
|
||||
# - and then uploads sigs
|
||||
# - downloads binaries built by the release manager (from airlock if SFTPUSER, else from website),
|
||||
# compares and signs them,
|
||||
# - and then uploads sigs (if SFTPUSER), else they can be submitted as PR to spesmilo/electrum-signatures
|
||||
# Note: the .dmg should be built separately beforehand and copied into dist/
|
||||
# (as it is built on a separate machine)
|
||||
#
|
||||
@@ -57,7 +58,6 @@ if [ -z "$GPGUSER" ]; then
|
||||
fail "usage: $0 gpg_username"
|
||||
fi
|
||||
|
||||
export SSHUSER="$GPGUSER"
|
||||
RELEASEMANAGER=""
|
||||
if [ "$GPGUSER" == "ThomasV" ]; then
|
||||
PUBKEY="--local-user 6694D8DE7BE8EE5631BED9502BD5824B7F9470E6"
|
||||
@@ -68,6 +68,8 @@ elif [ "$GPGUSER" == "sombernight_releasekey" ]; then
|
||||
export SSHUSER=sombernight
|
||||
else
|
||||
warn "unexpected GPGUSER=$GPGUSER"
|
||||
PUBKEY=""
|
||||
export SSHUSER=""
|
||||
fi
|
||||
|
||||
|
||||
@@ -208,13 +210,41 @@ if [ -z "$RELEASEMANAGER" ] ; then
|
||||
rm -rf "$PROJECT_ROOT/dist/releasemanager"
|
||||
mkdir --parent "$PROJECT_ROOT/dist/releasemanager"
|
||||
cd "$PROJECT_ROOT/dist/releasemanager"
|
||||
# TODO check somehow that RM had finished uploading
|
||||
sftp -oBatchMode=no -b - "$SSHUSER@uploadserver" << !
|
||||
cd electrum-downloads-airlock
|
||||
cd "$VERSION"
|
||||
mget *
|
||||
bye
|
||||
!
|
||||
|
||||
if [ -z "$SSHUSER" ]; then
|
||||
info "No SFTP access, downloading binaries from website"
|
||||
BASE_URL="https://download.electrum.org/$VERSION"
|
||||
FILES_TO_DOWNLOAD=(
|
||||
"$tarball"
|
||||
"$srctarball"
|
||||
"$appimage"
|
||||
"$win1"
|
||||
"$win2"
|
||||
"$win3"
|
||||
"$apk1"
|
||||
"$apk2"
|
||||
"$apk3"
|
||||
"$dmg"
|
||||
)
|
||||
|
||||
for filename in "${FILES_TO_DOWNLOAD[@]}"; do
|
||||
if [ ! -f "$filename" ]; then
|
||||
info "Downloading $filename..."
|
||||
wget -q "$BASE_URL/$filename" -O "$filename" || fail "Failed to download $filename"
|
||||
else
|
||||
info "File already exists: $filename"
|
||||
fi
|
||||
done
|
||||
else
|
||||
# TODO check somehow that RM had finished uploading
|
||||
sftp -oBatchMode=no -b - "$SSHUSER@uploadserver" <<-EOF
|
||||
cd electrum-downloads-airlock
|
||||
cd "$VERSION"
|
||||
mget *
|
||||
bye
|
||||
EOF
|
||||
fi
|
||||
|
||||
# check we have each binary
|
||||
test -f "$tarball" || fail "tarball not found among sftp downloads"
|
||||
test -f "$srctarball" || fail "srctarball not found among sftp downloads"
|
||||
@@ -254,8 +284,14 @@ if [ -z "$RELEASEMANAGER" ] ; then
|
||||
signame="$fname.$GPGUSER.asc"
|
||||
gpg --sign --armor --detach $PUBKEY --output "$PROJECT_ROOT/dist/sigs/$signame" "$fname"
|
||||
done
|
||||
# upload sigs
|
||||
ELECBUILD_UPLOADFROM="$PROJECT_ROOT/dist/sigs/" "$CONTRIB/upload.sh"
|
||||
|
||||
if [ -z "$SSHUSER" ]; then
|
||||
info "Signing successfully, now open a pull request with your signatures to spesmilo/electrum-signatures"
|
||||
exit 0
|
||||
else
|
||||
# upload sigs
|
||||
ELECBUILD_UPLOADFROM="$PROJECT_ROOT/dist/sigs/" "$CONTRIB/upload.sh"
|
||||
fi
|
||||
|
||||
else
|
||||
# ONLY release manager
|
||||
|
||||
Reference in New Issue
Block a user