Skip to content

functions

functions #3812

Workflow file for this run

name: functions
permissions:
contents: read
on:
workflow_dispatch:
pull_request:
paths:
- 'FirebaseFunctions**'
- 'FirebaseSharedSwift**'
- '.github/workflows/functions.yml'
- '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- '.github/workflows/common_cocoapods_cron.yml'
- 'FirebaseAuth/Interop/*.h'
- 'FirebaseMessaging/Interop/*.h'
- 'FirebaseTestingSupport/Functions/**'
- 'FirebaseCombineSwift/Sources/Functions/**'
- 'scripts/setup_quickstart.sh'
- 'Gemfile*'
schedule:
# Run every day at 2am (PDT) / 5am (EDT) - cron uses UTC times
- cron: '0 9 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
pod_lib_lint:
uses: ./.github/workflows/common_cocoapods.yml
with:
product: FirebaseFunctions
supports_swift6: true
setup_command: FirebaseFunctions/Backend/start.sh synchronous
spm-integration:
uses: ./.github/workflows/common.yml
strategy:
matrix:
target: [FirebaseFunctionsIntegration, FirebaseFunctionsObjCIntegration, FunctionsCombineUnit]
with:
target: ${{ matrix.target }}
platforms: iOS
setup_command: FirebaseFunctions/Backend/start.sh synchronous
spm-unit:
uses: ./.github/workflows/common.yml
with:
target: FirebaseFunctionsUnit
# TODO: The legacy quickstart uses material which doesn't build on Xcode 15.
# quickstart:
# uses: ./.github/workflows/common_quickstart.yml
# strategy:
# matrix:
# quickstart_type: [objc, swift]
# with:
# product: Functions
# is_legacy: true
# setup_command: |
# scripts/setup_quickstart.sh functions
# sed -i '' 's/REVERSED_CLIENT_ID/com.googleusercontent.apps.1025801074639-6p6ebi8amuklcjrto20gvpe295smm8u6/' quickstart-ios/functions/LegacyFunctionsQuickstart/FunctionsExample/Info.plist
# plist_src_path: scripts/gha-encrypted/qs-functions.plist.gpg
# plist_dst_path: quickstart-ios/functions/GoogleService-Info.plist
# quickstart_type: ${{ matrix.quickstart_type }}
# secrets:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# quickstart-ftl-cron-only:
# # Don't run on private repo
# if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'
# env:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# LEGACY: true
# # TODO: Move to macos-14 and Xcode 15. The legacy quickstart uses material which doesn't build on Xcode 15.
# runs-on: macos-12
# steps:
# - uses: actions/checkout@v4
# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
# - uses: actions/setup-python@v5
# with:
# python-version: '3.11'
# - name: Setup quickstart
# run: scripts/setup_quickstart.sh functions
# - name: install secret googleservice-info.plist
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-functions.plist.gpg \
# quickstart-ios/functions/GoogleService-Info.plist "$plist_secret"
# - name: Setup custom URL scheme
# run: sed -i '' 's/REVERSED_CLIENT_ID/com.googleusercontent.apps.1025801074639-6p6ebi8amuklcjrto20gvpe295smm8u6/' quickstart-ios/functions/LegacyFunctionsQuickstart/FunctionsExample/Info.plist
# - name: Build objc quickstart
# run: ([ -z $plist_secret ] ||
# scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Functions)
# - name: Build swift quickstart
# run: ([ -z $plist_secret ] ||
# scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Functions swift)
# - id: ftl_test
# uses: FirebaseExtended/github-actions/[email protected]
# with:
# credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }}
# testapp_dir: quickstart-ios/build-for-testing
# test_type: "xctest"
functions-cron-only:
needs: pod_lib_lint
uses: ./.github/workflows/common_cocoapods_cron.yml
with:
product: FirebaseFunctions
platforms: '[ "ios", "tvos", "macos" ]'
flags: '[ "--use-static-frameworks" ]'
setup_command: FirebaseFunctions/Backend/start.sh synchronous
runs_on: macos-14
xcode: Xcode_16.2