#!/bin/bash echo -n "version number: " read ver echo -n "glpat: " read glpat cd ./mobile # build ./gradlew assembleRelease # sign ~/Android/Sdk/build-tools/35.0.0/apksigner sign --alignment-preserved --ks ~/Documents/android-keystore.jks app/build/outputs/apk/release/com.odweta.solon_$ver.apk # add, commit, push git add .. git commit -m "made new release $ver" git push # create the tag echo "\n[creating tag v$ver]" data_str='{ "tag_name": "'$ver'", "ref": "HEAD", "message": "Tagging release v'$ver'" }' curl --request POST \ --header "PRIVATE-TOKEN: $glpat" \ --header "Content-Type: application/json" \ --data "$data_str" \ "https://gitlab.com/api/v4/projects/47146187/repository/tags" # make a release echo "\n[publishing release $ver]" data_str='{ "name": "v'$ver'", "tag_name": "'$ver'", "ref": "HEAD" }' curl --request POST \ --header "PRIVATE-TOKEN: $glpat" \ --header 'Content-Type: application/json' \ --data "$data_str" \ "https://gitlab.com/api/v4/projects/47146187/releases" # attach a file echo "\n[attaching the release apk]" asset_url="https://gitlab.com/-/project/47146187"$(curl --request POST \ --header "PRIVATE-TOKEN: $glpat" \ --form "file=@app/build/outputs/apk/release/com.odweta.solon_$ver.apk" \ "https://gitlab.com/api/v4/projects/47146187/uploads" | jq .url -r) # add the file as a stable release asset echo "\n[creating release asset]" curl --request POST \ --header "PRIVATE-TOKEN: $glpat" \ --data name="app-release.apk" \ --data url="$asset_url" \ --data filepath="/app-release.apk" \ "https://gitlab.com/api/v4/projects/47146187/releases/$ver/assets/links" # cd back cd -