2 changed files with 181 additions and 4 deletions
@ -0,0 +1,181 @@
|
||||
# |
||||
# Note: update locale before: |
||||
# 1. cd /opt/electrum-locale && ./update && push |
||||
# 2. cd to the submodule dir, and git pull |
||||
# 3. cd .. && git push |
||||
#!/bin/bash |
||||
|
||||
ELECTRUM_DIR=/opt/electrum |
||||
WWW_DIR=/opt/electrum-web |
||||
|
||||
# Note: |
||||
# uploadserver and website are set in /etc/hosts |
||||
|
||||
cd $ELECTRUM_DIR |
||||
# rm -rf dist/* |
||||
# rm -f .buildozer |
||||
|
||||
|
||||
VERSION=`python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)"` |
||||
echo "VERSION: $VERSION" |
||||
REV=`git describe --tags` |
||||
echo "REV: $REV" |
||||
|
||||
|
||||
git_status=$(git status --porcelain) |
||||
if [ ! -z "$git_status" ]; then |
||||
echo "$git_status" |
||||
echo "git repo not clean, aborting" |
||||
exit 1 |
||||
fi |
||||
|
||||
set -ex |
||||
|
||||
# create tarball |
||||
target=Electrum-$VERSION.tar.gz |
||||
if test -f dist/$target; then |
||||
echo "file exists: $target" |
||||
else |
||||
pushd . |
||||
sudo docker build -t electrum-sdist-builder-img contrib/build-linux/sdist |
||||
FRESH_CLONE=contrib/build-linux/sdist/fresh_clone && \ |
||||
sudo rm -rf $FRESH_CLONE && \ |
||||
umask 0022 && \ |
||||
mkdir -p $FRESH_CLONE && \ |
||||
cd $FRESH_CLONE && \ |
||||
git clone https://github.com/spesmilo/electrum.git &&\ |
||||
cd electrum |
||||
#git checkout $REV |
||||
sudo docker run -it \ |
||||
--name electrum-sdist-builder-cont \ |
||||
-v $PWD:/opt/electrum \ |
||||
--rm \ |
||||
--workdir /opt/electrum/contrib/build-linux/sdist \ |
||||
electrum-sdist-builder-img \ |
||||
./build.sh |
||||
popd |
||||
cp /opt/electrum/contrib/build-linux/sdist/fresh_clone/electrum/dist/$target dist/ |
||||
fi |
||||
|
||||
# appimage |
||||
if [ $REV != $VERSION ]; then |
||||
target=electrum-${REV:0:-2}-x86_64.AppImage |
||||
else |
||||
target=electrum-$REV-x86_64.AppImage |
||||
fi |
||||
|
||||
if test -f dist/$target; then |
||||
echo "file exists: $target" |
||||
else |
||||
sudo docker build -t electrum-appimage-builder-img contrib/build-linux/appimage |
||||
sudo docker run -it \ |
||||
--name electrum-appimage-builder-cont \ |
||||
-v $PWD:/opt/electrum \ |
||||
--rm \ |
||||
--workdir /opt/electrum/contrib/build-linux/appimage \ |
||||
electrum-appimage-builder-img \ |
||||
./build.sh |
||||
fi |
||||
|
||||
|
||||
# windows |
||||
target=electrum-$REV.exe |
||||
if test -f dist/$target; then |
||||
echo "file exists: $target" |
||||
else |
||||
pushd . |
||||
FRESH_CLONE=contrib/build-wine/fresh_clone && \ |
||||
sudo rm -rf $FRESH_CLONE && \ |
||||
mkdir -p $FRESH_CLONE && \ |
||||
cd $FRESH_CLONE && \ |
||||
git clone https://github.com/spesmilo/electrum.git && \ |
||||
cd electrum |
||||
#git checkout $REV |
||||
sudo docker run -it \ |
||||
--name electrum-wine-builder-cont \ |
||||
-v $PWD:/opt/wine64/drive_c/electrum \ |
||||
--rm \ |
||||
--workdir /opt/wine64/drive_c/electrum/contrib/build-wine \ |
||||
electrum-wine-builder-img \ |
||||
./build.sh |
||||
# do this in the fresh clone directorry! |
||||
cd contrib/build-wine/ |
||||
./sign.sh |
||||
cp ./signed/*.exe /opt/electrum/dist/ |
||||
popd |
||||
fi |
||||
|
||||
# android |
||||
target1=Electrum-$VERSION.0-armeabi-v7a-release.apk |
||||
target2=Electrum-$VERSION.0-arm64-v8a-release.apk |
||||
|
||||
if test -f dist/$target1; then |
||||
echo "file exists: $target" |
||||
else |
||||
./contrib/make_packages |
||||
sudo docker build -t electrum-android-builder-img contrib/android |
||||
|
||||
mkdir --parents $PWD/.buildozer/.gradle |
||||
sudo docker run -it --rm \ |
||||
--name electrum-android-builder-cont \ |
||||
-v $PWD:/home/user/wspace/electrum \ |
||||
-v $PWD/.buildozer/.gradle:/home/user/.gradle \ |
||||
-v ~/.keystore:/home/user/.keystore \ |
||||
--workdir /home/user/wspace/electrum \ |
||||
electrum-android-builder-img \ |
||||
./contrib/android/make_apk release |
||||
|
||||
cp bin/$target1 dist/ |
||||
cp bin/$target2 dist/ |
||||
|
||||
fi |
||||
|
||||
# wait for dmg before signing |
||||
if test -f dist/electrum-$VERSION.dmg; then |
||||
if test -f dist/electrum-$VERSION.dmg.asc; then |
||||
echo "packages are already signed" |
||||
else |
||||
echo "signing packages" |
||||
./contrib/sign_packages |
||||
fi |
||||
else |
||||
echo "dmg is missing, aborting" |
||||
exit 1 |
||||
fi |
||||
|
||||
|
||||
|
||||
echo "updating www repo" |
||||
./contrib/make_download $WWW_DIR |
||||
echo "signing the version 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 |
||||
|
||||
|
||||
if [ $REV != $VERSION ]; then |
||||
echo "versions differ, not uploading" |
||||
exit 1 |
||||
fi |
||||
|
||||
# upload the files |
||||
if test -f dist/uploaded; then |
||||
echo "files already uploaded" |
||||
else |
||||
./contrib/upload uploadserver |
||||
touch dist/uploaded |
||||
fi |
||||
|
||||
#exit 0 |
||||
|
||||
# push changes to website |
||||
pushd $WWW_DIR |
||||
git diff |
||||
git commit -a -m "version $VERSION" |
||||
git push |
||||
popd |
||||
|
||||
# update webserver: |
||||
echo "to deploy, type:" |
||||
echo "ssh root@website \"cd /var/www/new; git pull github master\"" |
||||
|
||||
# clear cloudflare cache |
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash |
||||
version=`python3 -c "import electrum; print(electrum.version.ELECTRUM_VERSION)"` |
||||
sig=`./run_electrum -o signmessage $SIGNING_ADDRESS $version -w $SIGNING_WALLET` |
||||
echo "{ \"version\":\"$version\", \"signatures\":{ \"$SIGNING_ADDRESS\":\"$sig\"}}" |
||||
Loading…
Reference in new issue