Skip to content

Android Dapp (internal) deploy #17

Android Dapp (internal) deploy

Android Dapp (internal) deploy #17

name: Android Dapp (internal) deploy
on:
workflow_dispatch:
pull_request:
types:
- closed
jobs:
build:
if: (github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'develop') || github.event_name == 'workflow_dispatch'
runs-on: macos-latest-xlarge
steps:
# Checkout the repo
- name: Checkout repository
uses: actions/checkout@v4
# Install Java 17
- name: Install Java 17
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '17'
architecture: x86_64
cache: 'gradle'
# Cache Gradle
- name: Cache Gradle
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
# Install Flutter and Dependencies
- uses: ./.github/actions/dependencies
- name: Add Secrets file
working-directory: example/dapp/android
run: touch secrets.properties && echo "${{ secrets.SECRETS_FILE }}" >> secrets.properties
- name: Add Keystore file
working-directory: example/dapp/android
run: echo "${{ secrets.KEYSTORE }}" | base64 --decode >> app/debug.keystore
# Fastlane
- name: Fastlane
working-directory: example/dapp/android
env:
FLAVOR: "internal"
PROJECT_ID: ${{ secrets.DAPP_PROJECT_ID }}
SLACK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
FIREBASE_DAPP_ID: ${{ secrets.FIREBASE_DAPP_ID_INTERNAL }}
DOWNLOAD_URL: ${{ secrets.DOWNLOAD_URL_DAPP_INTERNAL }}
run: |
PUBSPEC_FILE=../../../pubspec.yaml
FILE_VALUE=$(echo | grep "^version: " $PUBSPEC_FILE)
PARTS=(${FILE_VALUE//:/ })
FULL_VERSION=${PARTS[1]}
VERSION_NUMBER=(${FULL_VERSION//-/ })
fastlane add_plugin firebase_app_distribution
fastlane release_firebase project_id:$PROJECT_ID app_version:$VERSION_NUMBER
# Launch locally
# Remove build: if:
# act -j build --container-architecture linux/amd64 -P macos-latest-xlarge=-self-hosted --secret-file .github/workflows/.env.secret -W .github/workflows/release_dapp_android_internal.yml