11#! /usr/bin/env bash
22
3- # create a new directory that will contain our generated apk
4- mkdir$HOME /CTFA/
3+ # config
4+ # make sure the GITHUB_API_KEY is encrypted and inside the travis file
5+ # travis encrypt GITHUB_API_KEY=super_secret --add env.global
6+
7+ RELEASE_REPO=ctf/CTF-Android.apk
8+ USER_AUTH=AllanWang
9+ EMAIL=me@allanwang.ca
10+ APK_NAME=CTF-Android-releaseTest
11+ MODULE_NAME=CTF
12+ VERSION_KEY=CTFA
13+ # Make version key different from module name
14+
15+ # create a new directory that will contain our generated apk
16+ mkdir$HOME /$VERSION_KEY /
517# copy generated apk from build folder to the folder just created
6- cp -RCTF /build/outputs/apk/CTF-Android-releaseTest .apk$HOME /CTFA /
18+ cp -R$MODULE_NAME /build/outputs/apk/$APK_NAME .apk$HOME /$VERSION_KEY /
719
820# go to home and setup git
921echo " Clone Git"
1022cd $HOME
11- git config --global fullUser.email" me@allanwang.ca "
12- git config --global fullUser.name" Allan Wang "
23+ git config --global fullUser.email" $EMAIL "
24+ git config --global fullUser.name" $USER_AUTH CI "
1325# clone the repository in the buildApk folder
14- git clone --quiet --branch=master https://AllanWang :$GITHUB_API_KEY @github.com/CTFMcGill/CTFMcGill.github.io .git master> /dev/null
26+ git clone --quiet --branch=master https://$USER_AUTH :$GITHUB_API_KEY @github.com/$RELEASE_REPO .git master> /dev/null
1527# create version file
1628echo " Create Version File"
1729cd master
18- echo " CTFA v$TRAVIS_BUILD_NUMBER " > CTFA .txt
30+ echo " $VERSION_KEY v$TRAVIS_BUILD_NUMBER " > " $VERSION_KEY .txt"
1931
2032echo " Push Version File"
2133git remote rm origin
22- git remote add origin https://AllanWang :$GITHUB_API_KEY @github.com/CTFMcGill/CTFMcGill.github.io .git
34+ git remote add origin https://$USER_AUTH :$GITHUB_API_KEY @github.com/$RELEASE_REPO .git
2335git add -f.
2436git commit -m" Travis build$TRAVIS_BUILD_NUMBER pushed [skip ci]"
2537git push -fq origin master> /dev/null
2638
2739echo " Create New Release"
40+ API_JSON=" $( printf' {"tag_name": "v%s","target_commitish": "master","name": "v%s","body": "Automatic Release v%s","draft": false,"prerelease": false}' $TRAVIS_BUILD_NUMBER $TRAVIS_BUILD_NUMBER $TRAVIS_BUILD_NUMBER ) "
41+ newRelease=" $( curl --data" $API_JSON " https://api.github.com/repos/$RELEASE_REPO /releases? access_token=$GITHUB_API_KEY ) "
42+ rID=" $( echo" $newRelease " | jq" .id" ) "
43+
2844cd $HOME
29- API_JSON=$( printf' {"tag_name": "v%s","target_commitish": "master","name": "v%s","body": "Automatic Android Release v%s","draft": false,"prerelease": false}' $TRAVIS_BUILD_NUMBER $TRAVIS_BUILD_NUMBER $TRAVIS_BUILD_NUMBER )
30- newRelease=$( curl --data" $API_JSON " https://api.github.com/repos/CTFMcGill/CTFMcGill.github.io/releases? access_token=$GITHUB_API_KEY )
31- rID=` echo$newRelease | jq" .id" `
3245echo " Push apk to$rID "
33- curl" https://uploads.github.com/repos/CTFMcGill/CTFMcGill.github.io/releases/${rID} /assets?access_token=${GITHUB_API_KEY} &name=CTFA-Test-v${TRAVIS_BUILD_NUMBER} .apk" --header' Content-Type: application/zip' --upload-file CTFA/CTF-Android-releaseTest.apk -X POST
46+ curl" https://uploads.github.com/repos/${RELEASE_REPO} /releases/${rID} /assets?access_token=${GITHUB_API_KEY} &name=${APK_NAME} -v${TRAVIS_BUILD_NUMBER} .apk" --header' Content-Type: application/zip' --upload-file$VERSION_KEY /$APK_NAME .apk -X POST
47+
3448
3549echo -e" Done\n"