Skip to content

Build and Deploy iOS to Firebase #468

Build and Deploy iOS to Firebase

Build and Deploy iOS to Firebase #468

name: Build and Deploy iOS to Firebase
on:
push:
branches:
- beta-ios
schedule:
- cron: "0 5 * * *" # Runs daily at 5:00 AM UTC
workflow_dispatch: # Allows manual trigger
jobs:
build-deploy-ios-firebase:
runs-on: macos-15
timeout-minutes: 90
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Setup repository environment
uses: ./.github/actions/setup-repo-environment
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Setup SSH agent
uses: ./.github/actions/setup-ssh
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Setup Ruby
uses: ./.github/actions/setup-ruby
- name: Setup JavaScript environment
uses: ./.github/actions/setup-javascript-environment
- name: Setup iOS environment
uses: ./.github/actions/setup-ios-environment
- name: Update echo
uses: ./.github/actions/setup-update-echo
- name: Install bin modules
uses: ./.github/actions/setup-bin-modules
- name: Install imagemagick & librsvg for badge
run: brew install imagemagick librsvg
- name: Build and deploy iOS to Firebase
run: bundle exec fastlane ship_beta_ios deployment_target:firebase
env:
FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: 120
FASTLANE_XCODE_LIST_TIMEOUT: 120
- name: Extract beta version
if: always()
id: extract-version
run: ./.github/scripts/extract-beta-version.sh fastlane/ios_beta_version.txt
- name: Find and comment on PR
if: always() && steps.extract-version.outputs.beta_version
uses: actions/github-script@v7
env:
BETA_VERSION: ${{ steps.extract-version.outputs.beta_version }}
PLATFORM: ios
DEPLOYMENT_TARGET: firebase
with:
script: |
const script = require('./.github/scripts/comment-pr-beta.js');
await script({ github, context, core });