Newer
Older
workflow:
name: 'Circles release workflow'
rules:
- if: $CI_COMMIT_TAG
cache:
key: ${CI_PROJECT_ID}
paths:
- .gradle/
stages:
ARM64_V8A_CODE: "arm64-v8a"
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/circles_release/${CI_COMMIT_TAG}"
APK_NAME: "circles-$CI_COMMIT_TAG-fdroid-$ARM64_V8A_CODE-release.apk"
APK_URL: "${PACKAGE_REGISTRY_URL}/circles-$CI_COMMIT_TAG-fdroid-$ARM64_V8A_CODE-release.apk"
# TODO: Remove when https://github.com/fastlane/fastlane/pull/21950 gets released
RUBYOPT: "-rostruct"
before_script:
- chmod +x ./gradlew
- echo -n ${SIGNING_KEY_BASE64} | base64 -d > circuli_key.jks
- echo "KEY_PATH=../circuli_key.jks" > signing.properties
- echo "KEY_PASSWORD=${KEY_PASSWORD}" >> signing.properties
- echo "ALIAS_NAME=${ALIAS_NAME}" >> signing.properties
image: softartdev/android-fastlane
stage: build
script:
- echo "Building F-Droid apk"
- ./gradlew clean
- ./gradlew assembleFdroidRelease
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file app/build/outputs/apk/fdroid/release/$APK_NAME "${APK_URL}"
createGitlabRelease:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
script:
- echo "Running the release job"
- CHANGELOG_FILE_PATH=$(ls -l fastlane/metadata/android/en-US/changelogs/*.txt | sort -k 9,9 -r | head -n 1 | awk '{print $NF}')
- CHANGELOG_TEXT=$(cat $CHANGELOG_FILE_PATH)
- echo -e $CHANGELOG_TEXT >> description.txt
release:
tag_name: $CI_COMMIT_TAG
name: 'Version $CI_COMMIT_TAG'
- name: 'F-Droid release apk $ARM64_V8A_CODE $CI_COMMIT_TAG'
url: '${APK_URL}'
- bundle install
- echo ${GPLAY_API_KEY_JSON} > google_play_api_key.json
- bundle exec fastlane deployGoogle
sendZulipMessage:
stage: message
script:
- apk update
- apk add curl
- CHANGELOG_FILE_PATH=$(ls -l fastlane/metadata/android/en-US/changelogs/*.txt | sort -k 9,9 -r | head -n 1 | awk '{print $NF}')
- CHANGELOG_TEXT=$(cat $CHANGELOG_FILE_PATH)
- |
MESSAGE="Circles Android ${CI_COMMIT_TAG}
$CHANGELOG_TEXT
Gitlab release - https://gitlab.futo.org/circles/circles-android/-/releases/${CI_COMMIT_TAG}
Direct ${ARM64_V8A_CODE} apk link - ${APK_URL}"
- curl -X POST https://zulip.futo.org/api/v1/messages -u circles-bot@zulip.futo.org:$ZULIP_BOT_KEY --data-urlencode type=stream --data-urlencode 'to="circles"' --data-urlencode topic=Releases -G --data-urlencode "content=$MESSAGE"