Skip to content

[WIP]build: support github actions. #25

[WIP]build: support github actions.

[WIP]build: support github actions. #25

Workflow file for this run

name: Build and deploy Android alpha
on:
push:
tags:
- 'android-alpha-*'
branches:
- 'ci/android-alpha-*'
- ci/*
workflow_call:
secrets:
RABBY_MOBILE_ANDROID_KEY_STORE:
required: true
RABBY_MOBILE_ANDROID_KEY_PASSWORD:
required: true
RABBY_MOBILE_ANDROID_KEY_ALIAS:
required: true
RABBY_MOBILE_KR_PWD:
required: true
# defaults:
# run:
# shell: bash -ieo pipefail {0}
env:
BUILD_TARGET_PLATFORM: android
jobs:
alpha-build:
name: android-alpha-build
runs-on:
- self-hosted
- mobile
- macOS
steps:
- uses: actions/checkout@v3
- name: Get Actions Variables
id: actionvars
shell: bash
run: |
trigger_date=$(date +'%Y%m%d%H%M%S')
echo "{trigger_date}={$trigger_date}" >> "$GITHUB_OUTPUT"
flatten_refname=${GITHUB_REF_NAME//\//'_'}
flatten_refname=${GIT_BRANCH//\./'_'}
echo "{flatten_refname}={$flatten_refname}" >> "$GITHUB_OUTPUT"
# - name: Setup Nodejs and Yarn
# uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Setup Ruby & Fastlane
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: '2.7'
# bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '17'
- name: Setup Android SDK
uses: android-actions/setup-android@v2
- name: Setup & Install dependencies
run: |
echo "FLATTEN_REFNAME is $FLATTEN_REFNAME";
echo "TRIGGER_DATE is $TRIGGER_DATE";
yarn --version;
# yarn setup && yarn postinstall;
yarn install;
cd apps/mobile;
ls -la ./;
bundle install;
env:
FLATTEN_REFNAME: ${{ steps.actionvars.outputs.flatten_refname }}
TRIGGER_DATE: ${{ steps.actionvars.outputs.trigger_date }}
# - name: Prepare JSBundle for sourcemap
# run: |
# cd apps/mobile;
# SENTRY_BUNDLE_STAGE=bundle bash ./android/bundle_sourcemap.sh
- name: Build app
env:
RABBY_MOBILE_BUILD_BUCKET: ${{ secrets.RABBY_MOBILE_BUILD_BUCKET }}
RABBY_MOBILE_KR_PWD: ${{ secrets.RABBY_DESKTOP_KR_PWD }}
RABBY_MOBILE_ANDROID_KEY_STORE: ${{ secrets.RABBY_MOBILE_ANDROID_KEY_STORE }}
RABBY_MOBILE_ANDROID_KEY_PASSWORD: ${{ secrets.RABBY_MOBILE_ANDROID_KEY_PASSWORD }}
RABBY_MOBILE_ANDROID_KEY_ALIAS: ${{ secrets.RABBY_MOBILE_ANDROID_KEY_ALIAS }}
RABBY_MOBILE_SENTRY_AUTH_TOKEN: ${{ secrets.RABBY_MOBILE_SENTRY_AUTH_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.RABBY_MOBILE_SENTRY_AUTH_TOKEN }}
LARK_CHAT_URL: ${{ secrets.LARK_CHAT_URL }}
LARK_CHAT_SECRET: ${{ secrets.LARK_CHAT_SECRET }}
# see more details on https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
GIT_ACTIONS_JOB_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
GIT_COMMIT_URL: ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}
GIT_REF_NAME: ${{ github.ref_name }}
GIT_REF_URL: ${{ github.server_url }}/${{ github.repository }}/tree/${{ github.ref_name }}
GITHUB_REF: ${{ github.ref }}
run: |
cd apps/mobile;
bundle exec fastlane android alpha;
# - name: Upload app to aws bucket
# run: aws s3 cp ./android/app/build/outputs/apk/release/app-release.apk s3://${RABBY_MOBILE_BUILD_BUCKET}/downloads/debank-app/${APK_NAME}.apk --acl public-read
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: rabbymobile-${{ steps.actionvars.outputs.flatten_refname }}-${{ steps.actionvars.outputs.trigger_date }}
path: |
./apps/mobile/android/app/build/outputs/apk/release/app-release.apk
retention-days: 90