Split scripts

soxx 6 years ago
parent b5a57df41f
commit 86b7cb9dcd
  1. 29
      build.sh
  2. 14
      check_already_released.sh
  3. 14
      check_github.sh
  4. 6
      email.sh
  5. 9
      pipeline.sh
  6. 7
      upload.sh

@ -2,40 +2,25 @@
set -eu
VERSION=$1
IN=$(jq . <&0)
APK_FILENAME=FairEmail-v$VERSION-full-github.apk
VERSION=$(echo $IN | jq -r .tag_name)
APK_FILENAME=$(echo $IN | jq -r .file_name)
docker build \
--build-arg VERSION=$VERSION \
--build-arg KEYSTORE_FILE=$(cat $ANDROID_KEYSTORE_FILE | base64 -w0) \
--build-arg KEYSTORE_PROPERTIES=$(envsubst < templates/keystore.properties | base64 -w0) \
-t fairemail-apk \
.
. \
> /dev/null
DOCKER_CONTAINER_ID=$(docker create fairemail-apk)
trap "{
rm -f $APK_FILENAME;
docker rm $DOCKER_CONTAINER_ID;
docker rm $DOCKER_CONTAINER_ID > /dev/null ;
}" EXIT
docker cp $DOCKER_CONTAINER_ID:/apk/$APK_FILENAME .
UPLOADED=$(rsync -i --ignore-existing $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
echo $IN

@ -0,0 +1,14 @@
#!/bin/sh
set -eu
IN=$(jq . <&0)
APK_FILENAME=$(echo $IN | jq -r .file_name)
if rsync sillywalk.de:/srv/www/sillywalk.de/root/releases/$APK_FILENAME; then
echo "$APK_FILENAME already released. Aborting." >&2
exit 1
fi
echo $IN

@ -1,6 +1,7 @@
#!/bin/bash
set -eu
RELEASES=$(curl https://api.github.com/repos/M66B/FairEmail/releases)
# FIXME Test whether asset name matches "full-github"
@ -10,15 +11,4 @@ if [ "$LATEST_GITHUB_RELEASE" == null ]; then
exit 1
fi
APK_FILENAME=$(echo $LATEST_GITHUB_RELEASE | jq -r ' .assets[0].name')
TAG_NAME=$(echo $LATEST_GITHUB_RELEASE | jq -r ' .tag_name')
set +e
rsync sillywalk.de:/srv/www/sillywalk.de/root/releases/$APK_FILENAME
if [ $? -eq 0 ]; then
echo "$TAG_NAME already released. Aborting."
exit 1
fi
set -e
./build.sh $TAG_NAME
echo $LATEST_GITHUB_RELEASE | jq -r '{tag_name, file_name: .assets[0].name}'

@ -2,8 +2,10 @@
set -eu
VERSION=$1
APK_FILENAME=$2
IN=$(jq . <&0)
VERSION=$(echo $IN | jq -r .tag_name)
APK_FILENAME=$(echo $IN | jq -r .file_name)
export VERSION
export DATE="$(date +'%a, %-d %b %Y %H:%M:%S %z')"

@ -0,0 +1,9 @@
#!/bin/bash
set -euo pipefail
./check_github.sh \
| ./check_already_released.sh \
| ./build.sh \
| ./upload.sh \
| ./email.sh

@ -2,7 +2,10 @@
set -eu
APK_FILENAME=$1
IN=$(jq . <&0)
VERSION=$(echo $IN | jq -r .tag_name)
APK_FILENAME=$(echo $IN | jq -r .file_name)
UPLOADED=$(rsync -i --ignore-existing $APK_FILENAME sillywalk.de:/srv/www/sillywalk.de/root/releases)
@ -10,3 +13,5 @@ if [ -z "$UPLOADED" ]; then
echo "$VERSION already uploaded. Aborting."
exit 1
fi
echo $IN

Loading…
Cancel
Save