functions #3812
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |