This allows the add_cosigner workflow to be done before the website links to new binaries. (so Emzy or other builders can try to reproduce builds and add signatures before new binaries are fully live)
58 lines
1.4 KiB
Bash
Executable File
58 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# env vars:
|
|
# - WWW_DIR: path to "electrum-web" git clone
|
|
# - for signing the version announcement file:
|
|
# - ELECTRUM_SIGNING_ADDRESS (required)
|
|
# - ELECTRUM_SIGNING_WALLET (required)
|
|
#
|
|
|
|
set -e
|
|
|
|
PROJECT_ROOT="$(dirname "$(readlink -e "$0")")/.."
|
|
CONTRIB="$PROJECT_ROOT/contrib"
|
|
|
|
cd "$PROJECT_ROOT"
|
|
|
|
. "$CONTRIB"/build_tools_util.sh
|
|
|
|
|
|
echo -n "Remember to run add_cosigner to add any additional sigs. Continue (y/n)? "
|
|
read answer
|
|
if [ "$answer" != "y" ]; then
|
|
echo "exit"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
if [ -z "$WWW_DIR" ] ; then
|
|
WWW_DIR=/opt/electrum-web
|
|
fi
|
|
|
|
if [ -z "$ELECTRUM_SIGNING_WALLET" ] || [ -z "$ELECTRUM_SIGNING_ADDRESS" ]; then
|
|
echo "You need to set env vars ELECTRUM_SIGNING_WALLET and ELECTRUM_SIGNING_ADDRESS!"
|
|
exit 1
|
|
fi
|
|
|
|
VERSION=$(python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)")
|
|
info "VERSION: $VERSION"
|
|
|
|
set -x
|
|
|
|
info "updating www repo"
|
|
./contrib/make_download "$WWW_DIR"
|
|
info "signing the version announcement file"
|
|
sig=$(./run_electrum -o signmessage $ELECTRUM_SIGNING_ADDRESS $VERSION -w $ELECTRUM_SIGNING_WALLET)
|
|
echo "{ \"version\":\"$VERSION\", \"signatures\":{ \"$ELECTRUM_SIGNING_ADDRESS\":\"$sig\"}}" > "$WWW_DIR"/version
|
|
|
|
# push changes to website repo
|
|
pushd "$WWW_DIR"
|
|
git diff
|
|
git commit -a -m "version $VERSION"
|
|
git push
|
|
popd
|
|
|
|
|
|
info "release_www.sh finished successfully."
|
|
info "now you should run WWW_DIR/publish.sh to sign the website commit and upload signature"
|