You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
RELEASES="$(curl -s https://api.github.com/repos/M66B/FairEmail/releases)"
|
|
|
|
# FIXME Test whether asset name matches "full-github"
|
|
LATEST_GITHUB_RELEASE=$(echo $RELEASES | jq '[.[] | select(.assets | length > 0)] | first')
|
|
if [ "$LATEST_GITHUB_RELEASE" == null ]; then
|
|
echo "No github release available"
|
|
exit 1
|
|
fi
|
|
|
|
VERSION=$(echo $LATEST_GITHUB_RELEASE | jq -r '.tag_name')
|
|
APK_FILENAME=$(echo $LATEST_GITHUB_RELEASE | jq -r '.assets[0].name')
|
|
|
|
if rsync sillywalk.de:/srv/www/sillywalk.de/root/releases/$APK_FILENAME; then
|
|
echo "$APK_FILENAME already released. Aborting."
|
|
exit 1
|
|
fi
|
|
|
|
KEYSTORE_FILE=$(cat $ANDROID_KEYSTORE_FILE | base64 -w0)
|
|
KEYSTORE_PROPERTIES=$(envsubst < templates/keystore.properties | base64 -w0)
|
|
|
|
mkdir -p apk
|
|
trap "{
|
|
rm -rf apk;
|
|
}" EXIT
|
|
|
|
docker build -t fairemail-apk-builder .
|
|
docker run --rm \
|
|
-v $(pwd)/patches:/patches:ro \
|
|
-v $(pwd)/apk:/apk:rw \
|
|
fairemail-apk-builder $VERSION $KEYSTORE_FILE $KEYSTORE_PROPERTIES
|
|
|
|
UPLOADED=$(rsync -i --ignore-existing apk/$APK_FILENAME sillywalk.de:/srv/www/sillywalk.de/root/releases)
|
|
|
|
if [ -z "$UPLOADED" ]; then
|
|
echo "$VERSION already uploaded. Aborting."
|
|
exit 1
|
|
fi
|
|
|
|
export VERSION
|
|
export DATE="$(date +'%a, %-d %b %Y %H:%M:%S %z')"
|
|
export HOSTNAME="$(hostname).local" \
|
|
export RELEASE_URL="https://sillywalk.de/releases/$APK_FILENAME"
|
|
|
|
envsubst < templates/notification.email | curl \
|
|
--mail-from android-labs@envy.local \
|
|
--mail-rcpt fairemail-release@sillywalk.de \
|
|
--upload-file - \
|
|
smtp://mail.uberc.at
|
|
|