Repository: firebase/firebase-ios-sdk (language: cpp)

Issue:
Nightly Testing Report
# Nightly Testing Report
This issue([log](https://github.com/firebase/firebase-ios-sdk/actions/runs/8816165439)) is generated at 04/24/2024 05:03 AM, fetching workflow runs triggered in the last 24 hrs.
| Workflow |04/23|
| -------- | -------- |
| [functions](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/functions.yml) | [failure](https://github.com/firebase/firebase-ios-sdk/actions/runs/8813991181) |
| [performance](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/performance.yml) | [failure](https://github.com/firebase/firebase-ios-sdk/actions/runs/8812429529) |
| [prerelease](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/prerelease.yml) | [failure](https://github.com/firebase/firebase-ios-sdk/actions/runs/8811302825) |
| [release](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/release.yml) | [failure](https://github.com/firebase/firebase-ios-sdk/actions/runs/8811268102) |
| [remoteconfig](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/remoteconfig.yml) | [failure](https://github.com/firebase/firebase-ios-sdk/actions/runs/8813185256) |
| [storage](https://github.com/firebase/firebase-ios-sdk/blob/main/.github/workflows/storage.yml) | [failure](https://github.com/firebase/firebase-ios-sdk/actions/runs/8813093943) |



Discussion / hints:
Looks like storage and functions quickstarts are failing for Swift linkage issues. Perhaps a default Xcode version changed somewhere triggering this?
Hypothesis - not that Analytics is build with Xcode 15, we can't do any tests that link it with Xcode 14.

Fix patch:
diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml
index 915b25118e1..bac9f2c2457 100644
--- a/.github/workflows/functions.yml
+++ b/.github/workflows/functions.yml
@@ -110,68 +110,69 @@ jobs:
     - name: Unit Tests
       run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFunctionsUnit ${{ matrix.target }} spm
 
-  quickstart:
-    # Don't run on private repo unless it is a PR.
-    if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
-    env:
-      plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
-      signin_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
+  # TODO: Move to macos-14 and Xcode 15. The legacy quickstart uses material which doesn't build on Xcode 15.
+  # quickstart:
+  #   # Don't run on private repo unless it is a PR.
+  #   if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
+  #   env:
+  #     plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
+  #     signin_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@v1
-    - 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: Test objc quickstart
-      run: ([ -z $plist_secret ] ||
-            scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true)
-    - name: Test swift quickstart
-      run: ([ -z $plist_secret ] ||
-            scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true swift)
+  #   steps:
+  #   - uses: actions/checkout@v4
+  #   - uses: ruby/setup-ruby@v1
+  #   - 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: Test objc quickstart
+  #     run: ([ -z $plist_secret ] ||
+  #           scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true)
+  #   - name: Test swift quickstart
+  #     run: ([ -z $plist_secret ] ||
+  #           scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true swift)
 
-  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 }}
-      signin_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
+  # 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 }}
+  #     signin_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@v1
-    - uses: actions/setup-python@v4
-      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/firebase-test-lab@v1.4
-      with:
-        credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }}
-        testapp_dir: quickstart-ios/build-for-testing
-        test_type: "xctest"
+  #   steps:
+  #   - uses: actions/checkout@v4
+  #   - uses: ruby/setup-ruby@v1
+  #   - uses: actions/setup-python@v4
+  #     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/firebase-test-lab@v1.4
+  #     with:
+  #       credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }}
+  #       testapp_dir: quickstart-ios/build-for-testing
+  #       test_type: "xctest"
 
   functions-cron-only:
     # Don't run on private repo.
diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml
index 6453cc4960a..6312d720461 100644
--- a/.github/workflows/prerelease.yml
+++ b/.github/workflows/prerelease.yml
@@ -434,47 +434,48 @@ jobs:
         name: quickstart_artifacts_firestore
         path: quickstart-ios/
 
-  functions_quickstart:
+  # TODO: The functions quickstart uses Material which isn't supported by Xcode 15
+  #functions_quickstart:
     # Don't run on private repo unless it is a PR.
-    if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'workflow_dispatch'
-    needs: buildup_SpecsTesting_repo
-    env:
-      plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
-      signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
-      bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
-      testing_repo_dir: "/tmp/test/"
-      testing_repo: "firebase-ios-sdk"
-      LEGACY: true
-    # TODO: The functions quickstart uses Material which isn't supported by Xcode 15
-    runs-on: macos-12
-    steps:
-    - uses: actions/checkout@v4
-    - uses: ruby/setup-ruby@v1
-    - name: Get token
-      run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
-          bot-access.txt "$bot_token_secret"
-    - name: Setup testing repo and quickstart
-      run: |
-          botaccess=`cat bot-access.txt`
-          BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh functions prerelease_testing
-    - 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: Test objc quickstart
-      run: ([ -z $plist_secret ] ||
-            scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true)
-    - name: Test swift quickstart
-      run: ([ -z $plist_secret ] ||
-            scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true swift)
-    - name: Remove data before upload
-      run: scripts/remove_data.sh functions release_testing
-    - uses: actions/upload-artifact@v4
-      if: ${{ failure() }}
-      with:
-        name: quickstart_artifacts_functions
-        path: quickstart-ios/
+    # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'workflow_dispatch'
+    # needs: buildup_SpecsTesting_repo
+    # env:
+    #   plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
+    #   signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
+    #   bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
+    #   testing_repo_dir: "/tmp/test/"
+    #   testing_repo: "firebase-ios-sdk"
+    #   LEGACY: true
+    # # TODO: The functions quickstart uses Material which isn't supported by Xcode 15
+    # runs-on: macos-12
+    # steps:
+    # - uses: actions/checkout@v4
+    # - uses: ruby/setup-ruby@v1
+    # - name: Get token
+    #   run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
+    #       bot-access.txt "$bot_token_secret"
+    # - name: Setup testing repo and quickstart
+    #   run: |
+    #       botaccess=`cat bot-access.txt`
+    #       BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh functions prerelease_testing
+    # - 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: Test objc quickstart
+    #   run: ([ -z $plist_secret ] ||
+    #         scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true)
+    # - name: Test swift quickstart
+    #   run: ([ -z $plist_secret ] ||
+    #         scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true swift)
+    # - name: Remove data before upload
+    #   run: scripts/remove_data.sh functions release_testing
+    # - uses: actions/upload-artifact@v4
+    #   if: ${{ failure() }}
+    #   with:
+    #     name: quickstart_artifacts_functions
+    #     path: quickstart-ios/
 
   inappmessaging_quickstart:
     # Don't run on private repo unless it is a PR.
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 0604a1de1d9..097f590b274 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -385,47 +385,47 @@ jobs:
         name: quickstart_artifacts_firestore
         path: quickstart-ios/
 
-  functions_quickstart:
-    # Don't run on private repo unless it is a PR.
-    if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
-    needs: buildup_SpecsTesting_repo
-    env:
-      plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
-      signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
-      bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
-      testing_repo_dir: "/tmp/test/"
-      testing_repo: "firebase-ios-sdk"
-      LEGACY: true
-    # TODO: The functions quickstart uses Material which isn't supported by Xcode 15
-    runs-on: macos-12
-    steps:
-    - uses: actions/checkout@v4
-    - uses: ruby/setup-ruby@v1
-    - name: Get token
-      run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
-          bot-access.txt "$bot_token_secret"
-    - name: Setup testing repo and quickstart
-      run: |
-          botaccess=`cat bot-access.txt`
-          BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh functions nightly_release_testing
-    - 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: Test objc quickstart
-      run: ([ -z $plist_secret ] ||
-            scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true)
-    - name: Test swift quickstart
-      run: ([ -z $plist_secret ] ||
-            scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true swift)
-    - name: Remove data before upload
-      run: scripts/remove_data.sh functions release_testing
-    - uses: actions/upload-artifact@v4
-      if: ${{ failure() }}
-      with:
-        name: quickstart_artifacts_functions
-        path: quickstart-ios/
+  # TODO: The functions quickstart uses Material which isn't supported by Xcode 15
+  # functions_quickstart:
+  #   # Don't run on private repo unless it is a PR.
+  #   if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
+  #   needs: buildup_SpecsTesting_repo
+  #   env:
+  #     plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
+  #     signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
+  #     bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
+  #     testing_repo_dir: "/tmp/test/"
+  #     testing_repo: "firebase-ios-sdk"
+  #     LEGACY: true
+  #   runs-on: macos-12
+  #   steps:
+  #   - uses: actions/checkout@v4
+  #   - uses: ruby/setup-ruby@v1
+  #   - name: Get token
+  #     run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
+  #         bot-access.txt "$bot_token_secret"
+  #   - name: Setup testing repo and quickstart
+  #     run: |
+  #         botaccess=`cat bot-access.txt`
+  #         BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh functions nightly_release_testing
+  #   - 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: Test objc quickstart
+  #     run: ([ -z $plist_secret ] ||
+  #           scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true)
+  #   - name: Test swift quickstart
+  #     run: ([ -z $plist_secret ] ||
+  #           scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions true swift)
+  #   - name: Remove data before upload
+  #     run: scripts/remove_data.sh functions release_testing
+  #   - uses: actions/upload-artifact@v4
+  #     if: ${{ failure() }}
+  #     with:
+  #       name: quickstart_artifacts_functions
+  #       path: quickstart-ios/
 
   inappmessaging_quickstart:
     # Don't run on private repo unless it is a PR.
diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml
index a651334bb99..4409dadc0ca 100644
--- a/.github/workflows/storage.yml
+++ b/.github/workflows/storage.yml
@@ -96,8 +96,8 @@ jobs:
     strategy:
       matrix:
         include:
-          - os: macos-13
-            xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15.
+          #- os: macos-13
+          #  xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15.
           - swift: swift
             os: macos-14
             xcode: Xcode_15.3


Test patch: