v1.64-rc1 release draft #305
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build store Android project | |
on: | |
release: | |
types: [published] | |
jobs: | |
build-android: | |
name: Build Android | |
strategy: | |
fail-fast: false | |
matrix: | |
org: [atb, nfk, fram, troms] | |
environment: ${{ matrix.org }} | |
timeout-minutes: 180 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check if release tag is org specific and exit for other orgs | |
if: ${{ (contains(github.ref, 'atb') && matrix.org != 'atb') || | |
(contains(github.ref, 'nfk') && matrix.org != 'nfk') || | |
(contains(github.ref, 'fram') && matrix.org != 'fram') || | |
(contains(github.ref, 'troms') && matrix.org != 'troms') }} | |
run: exit 1 | |
- name: Checkout project | |
uses: actions/checkout@v1 | |
- name: Set global env vars | |
run: | | |
echo "BUILD_ID=$(date +%s)" >> $GITHUB_ENV | |
echo "APP_ENVIRONMENT=store" >> $GITHUB_ENV | |
echo "KEYSTORE_PATH=./android/app/keystore.jks" >> $GITHUB_ENV | |
echo "APK_FILE_NAME=app-store.apk" >> $GITHUB_ENV | |
echo "AAB_FILE_NAME=app-store.aab" >> $GITHUB_ENV | |
echo "JAVA_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV | |
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH | |
- name: Decrypt env files | |
run: bash ./scripts/git-crypt-unlock.sh | |
env: | |
GIT_CRYPT_KEY: ${{ secrets.GIT_CRYPT_KEY }} | |
- name: Add Entur private registry credentials | |
run: bash ./scripts/add-entur-private-registry.sh | |
env: | |
ENTUR_REGISTRY_USER: ${{ vars.ENTUR_REGISTRY_USER }} | |
ENTUR_REGISTRY_TOKEN: ${{ secrets.ENTUR_REGISTRY_TOKEN }} | |
- name: Install imagemagick | |
run: sudo apt-get update && sudo apt-get install imagemagick | |
- name: install node v18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18 | |
- name: Install node_modules | |
run: yarn install --frozen-lockfile | |
- name: Setup ruby and bundle install | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 2.7.6 | |
cache-version: 1 | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
- name: Get Github-release data | |
if: matrix.org == 'atb' | |
id: get_release | |
uses: bruceadams/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set environment | |
run: bash ./scripts/override-environment.sh $APP_ENVIRONMENT ${{ matrix.org }} | |
- name: Export workflow env variables based on environment | |
run: bash ./scripts/export-workflow-parameters.sh | |
- name: Override native config files | |
run: bash ./scripts/android/override-config-files.sh | |
- name: Decode Android keystore | |
run: bash ./scripts/android/create-keystore-file.sh | |
env: | |
KEYSTORE: ${{ secrets.KEYSTORE }} | |
- name: Generate native assets | |
run: yarn generate-native-assets | |
- name: Run fastlane build APK | |
if: (matrix.org == 'atb') || (matrix.org == 'nfk') | |
run: bundle exec fastlane android build | |
env: | |
KEYSTORE_PASS: ${{ secrets.KEYSTORE_PASS }} | |
KEY_PASS: ${{ secrets.KEYSTORE_KEY_PASS }} | |
KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} | |
- name: Run fastlane build AAB | |
if: (matrix.org == 'fram') || (matrix.org == 'troms') | |
run: bundle exec fastlane android build_aab | |
env: | |
KEYSTORE_PASS: ${{ secrets.KEYSTORE_PASS }} | |
KEY_PASS: ${{ secrets.KEYSTORE_KEY_PASS }} | |
KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} | |
- name: Distrubute APK to Google Play Internal Testing | |
if: (matrix.org == 'atb') || (matrix.org == 'nfk') | |
run: | | |
echo ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT}} | base64 --decode > google-play-service-account.json | |
bundle exec fastlane android playstore_internal | |
env: | |
GOOGLE_PLAY_SERVICE_ACCOUNT_PATH: google-play-service-account.json | |
ANDROID_PACKAGE_NAME: ${{ env.ANDROID_APPLICATION_ID }} | |
- name: Distrubute AAB to Google Play Internal Testing | |
if: (matrix.org == 'fram') || (matrix.org == 'troms') | |
run: | | |
echo ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT}} | base64 --decode > google-play-service-account.json | |
bundle exec fastlane android playstore_internal_aab | |
env: | |
GOOGLE_PLAY_SERVICE_ACCOUNT_PATH: google-play-service-account.json | |
ANDROID_PACKAGE_NAME: ${{ env.ANDROID_APPLICATION_ID }} | |
- name: Upload bundle and source maps | |
run: bash ./scripts/android/upload-sourcemaps.sh | |
env: | |
BUGSNAG_API_KEY: ${{ secrets.BUGSNAG_API_KEY }} | |
- name: Register app version | |
run: bash ./scripts/android/register-app-version.sh | |
env: | |
ENTUR_PUBLISH_CLIENT: ${{ secrets.ABT_ENTUR_PUBLISH_CLIENT_PRODUCTION }} | |
DISABLE_LISTED_ON_PLAY_STORE: false |