buildDev 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/bash
  2. date=$(date +%Y%m%d)
  3. # use current date for version code/name
  4. sed -i "/versionDev/,/\}/ s/versionCode .*/versionCode $date/" build.gradle
  5. sed -i "/versionDev/,/\}/ s/versionName .*/versionName \"$date\"/" build.gradle
  6. # build signed apk
  7. ./gradlew assembleVersionDevRelease >> /tmp/dev.log 2>&1
  8. if [ $? != 0 ] ; then
  9. echo "Build error!"
  10. exit 1
  11. fi
  12. # sign
  13. mkdir -p ~/apks
  14. source ~/.gradle/devVersionSecrets
  15. /home/nextcloud/bin/apksigner sign --ks-pass env:VERSION_DEV_STORE_PASSWORD \
  16. --key-pass env:VERSION_DEV_KEY_PASSWORD \
  17. --ks $VERSION_DEV_STORE_FILE \
  18. --out ~/apks/nextcloud-dev-$date.apk \
  19. ./build/outputs/apk/versionDev/release/versionDev-release-$date.apk
  20. # use the current date
  21. echo $date > ~/apks/latest
  22. ln -s nextcloud-dev-$date.apk latest.apk
  23. mv latest.apk ~/apks/
  24. # remove all but the latest 5 apks
  25. /bin/ls -t ~/apks/*.apk | awk 'NR>6' | xargs rm -f
  26. lastBuildTime=$(date --date="$(git log -1 --format=%ai $(git tag | grep dev | tail -n1))" +%s)
  27. changelog=$(git log --after=$lastBuildTime --pretty=oneline --abbrev-commit)
  28. echo "$changelog" > src/versionDev/fastlane/metadata/android/en-US/changelogs/$date.txt
  29. echo "library commit: $(curl https://api.github.com/repos/nextcloud/android-library/commits/master | jq .sha | sed s'/\"//g')" >> src/versionDev/fastlane/metadata/android/en-US/changelogs/$date.txt
  30. git add build.gradle
  31. git add src/versionDev/fastlane/metadata/android/en-US/changelogs/$date.txt
  32. git commit -m "daily dev $date" -m "$changelog"
  33. git push
  34. git tag dev-$date
  35. git push origin dev-$date
  36. # remove all but the latest 5 tags
  37. git tag|grep dev | sort -r | awk 'NR>5' | xargs -n 1 git push --delete origin
  38. git tag|grep dev | sort -r | awk 'NR>5' | xargs -n 1 git tag -d