CICD-Mobile-App-Release-GitHub/.github/workflows/deploy_to_firebase.yml

59 lines
2.1 KiB
YAML

name: Deploy to Firebase
on:
workflow_dispatch:
jobs:
android-publish-to-firebase:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
cache: gradle
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- name: Set up Ruby
uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1
with:
ruby-version: '3.2.1'
- name: Setup Fastlane
working-directory: ./android
run: bundle install
- name: node_modules cache
uses: actions/cache@v3
id: npm-cache
with:
path: node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
- name: Install Dependencies
run: npm ci
- name: Restore Release Keystore
env:
keystore_base64: ${{ secrets.RELEASE_KEYSTORE_BASE64 }}
run: |
echo "$keystore_base64" | base64 --decode > release.keystore
echo "CI_EVALUATION_KEYSTORE_FILE=`pwd`/release.keystore" >> $GITHUB_ENV
- name: Restore Firebase Service Account
env:
firebase_service_account_base64: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_BASE64 }}
run: |
echo "$firebase_service_account_base64" | base64 --decode > firebase-distribution-service-account.json
echo "CI_EVALUATION_FIREBASE_SERVICE_ACCOUNT_FILE=`pwd`/firebase-distribution-service-account.json" >> $GITHUB_ENV
- name: Deploy to Firebase
env:
CI_EVALUATION_KEY_ALIAS: ${{ secrets.CI_EVALUATION_KEY_ALIAS }}
CI_EVALUATION_KEY_PASSWORD: ${{ secrets.CI_EVALUATION_KEY_PASSWORD }}
CI_EVALUATION_STORE_PASSWORD: ${{ secrets.CI_EVALUATION_STORE_PASSWORD }}
working-directory: ./android
run: bundle exec fastlane deployInternalFirebase