From fd0868709acee069eb3110623a2e1430a3478256 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:30:40 -0400 Subject: [PATCH 1/6] chore(ci): Work on retry logic --- .github/workflows/storage.yml | 197 +++++++++++++++++----------------- 1 file changed, 100 insertions(+), 97 deletions(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index fd109429a5e..cc12d7e6bc7 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -24,23 +24,24 @@ concurrency: cancel-in-progress: true jobs: - spm: - uses: ./.github/workflows/common.yml - with: - target: FirebaseStorageUnit + # spm: + # uses: ./.github/workflows/common.yml + # with: + # target: FirebaseStorageUnit - catalyst: - uses: ./.github/workflows/common_catalyst.yml - with: - product: FirebaseStorage - target: FirebaseStorage-Unit-unit + # catalyst: + # uses: ./.github/workflows/common_catalyst.yml + # with: + # product: FirebaseStorage + # target: FirebaseStorage-Unit-unit storage-integration-tests: # 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' strategy: matrix: - language: [Swift, ObjC] + # language: [Swift, ObjC] + language: [ObjC] include: - os: macos-15 xcode: Xcode_16.4 @@ -71,97 +72,99 @@ jobs: run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - timeout_minutes: 120 + # timeout_minutes: 120 + timeout_seconds: 1 max_attempts: 3 retry_on: error - retry_wait_seconds: 120 + # retry_wait_seconds: 120 + retry_wait_seconds: 1 command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) - 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' - # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. - strategy: - matrix: - include: - #- os: macos-13 - # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. - - swift: swift - os: macos-15 - xcode: Xcode_16.4 - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - LEGACY: true - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup quickstart - run: scripts/setup_quickstart.sh storage - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ - quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Test quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.swift }}) + # 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' + # # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. + # strategy: + # matrix: + # include: + # #- os: macos-13 + # # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. + # - swift: swift + # os: macos-15 + # xcode: Xcode_16.4 + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # LEGACY: true + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + # - name: Setup quickstart + # run: scripts/setup_quickstart.sh storage + # - name: Install Secret GoogleService-Info.plist + # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ + # quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" + # - name: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - name: Test quickstart + # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.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 - runs-on: macos-15 - 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 storage - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ - quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" - # - name: Build objc quickstart - # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) - - name: Build swift quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage 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" + # 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 + # runs-on: macos-15 + # 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 storage + # - name: Install Secret GoogleService-Info.plist + # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ + # quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" + # # - name: Build objc quickstart + # # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) + # - name: Build swift quickstart + # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage 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" - pod_lib_lint: - uses: ./.github/workflows/common_cocoapods.yml - with: - product: FirebaseStorage - test_specs: unit + # pod_lib_lint: + # uses: ./.github/workflows/common_cocoapods.yml + # with: + # product: FirebaseStorage + # test_specs: unit - storage-cron-only: - # Don't run on private repo. - if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - strategy: - matrix: - target: [ios, tvos, macos, watchos] - build-env: - - os: macos-14 - xcode: Xcode_16.2 - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.build-env.os }} - needs: pod_lib_lint - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: PodLibLint Storage Cron - run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests + # storage-cron-only: + # # Don't run on private repo. + # if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' + # strategy: + # matrix: + # target: [ios, tvos, macos, watchos] + # build-env: + # - os: macos-14 + # xcode: Xcode_16.2 + # - os: macos-15 + # xcode: Xcode_16.4 + # runs-on: ${{ matrix.build-env.os }} + # needs: pod_lib_lint + # steps: + # - uses: actions/checkout@v4 + # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + # - name: Setup Bundler + # run: scripts/setup_bundler.sh + # - name: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + # - name: PodLibLint Storage Cron + # run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests From a60ffaf4587586dde456bdbf0d2a2227221a8c76 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:35:42 -0400 Subject: [PATCH 2/6] retry on error or timeout --- .github/workflows/storage.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index cc12d7e6bc7..846335de23b 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -75,7 +75,6 @@ jobs: # timeout_minutes: 120 timeout_seconds: 1 max_attempts: 3 - retry_on: error # retry_wait_seconds: 120 retry_wait_seconds: 1 command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) From 71f5474da9593bb4486324f59e45f2a8f77391dc Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:42:51 -0400 Subject: [PATCH 3/6] Update storage.yml --- .github/workflows/storage.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 846335de23b..fdae0f37195 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -73,11 +73,11 @@ jobs: - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: # timeout_minutes: 120 - timeout_seconds: 1 max_attempts: 3 # retry_wait_seconds: 120 retry_wait_seconds: 1 - command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) + # command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) + command: exit 1 # quickstart: # # Don't run on private repo unless it is a PR. From 63723a26d00622ebe411dc2e66945cd43b923db1 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:58:46 -0400 Subject: [PATCH 4/6] Update storage.yml --- .github/workflows/storage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index fdae0f37195..095bcd68332 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -72,7 +72,7 @@ jobs: run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - # timeout_minutes: 120 + timeout_minutes: 120 max_attempts: 3 # retry_wait_seconds: 120 retry_wait_seconds: 1 From 55ef3ced295e6e82c23f9971fb189483c97be0ae Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Mon, 25 Aug 2025 12:06:48 -0400 Subject: [PATCH 5/6] Retry on error or timeout --- .github/workflows/auth.yml | 2 - .github/workflows/common.yml | 1 - .github/workflows/common_catalyst.yml | 1 - .github/workflows/common_cocoapods.yml | 1 - .github/workflows/crashlytics.yml | 1 - .github/workflows/spm.yml | 1 - .github/workflows/storage.yml | 197 ++++++++++++------------- 7 files changed, 97 insertions(+), 107 deletions(-) diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index 6a0447b399d..c1fccf1c014 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -88,7 +88,6 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - retry_on: error retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Auth iOS ${{ matrix.scheme }}) @@ -166,6 +165,5 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - retry_on: error retry_wait_seconds: 120 command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml index b79680f09b4..0a9753b289e 100644 --- a/.github/workflows/common.yml +++ b/.github/workflows/common.yml @@ -114,7 +114,6 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - retry_on: error retry_wait_seconds: 120 command: | ./scripts/build.sh \ diff --git a/.github/workflows/common_catalyst.yml b/.github/workflows/common_catalyst.yml index da3911b064c..110f752fb6b 100644 --- a/.github/workflows/common_catalyst.yml +++ b/.github/workflows/common_catalyst.yml @@ -43,7 +43,6 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - retry_on: error retry_wait_seconds: 120 command: | scripts/test_catalyst.sh \ diff --git a/.github/workflows/common_cocoapods.yml b/.github/workflows/common_cocoapods.yml index cf054ef7743..b072b3537dc 100644 --- a/.github/workflows/common_cocoapods.yml +++ b/.github/workflows/common_cocoapods.yml @@ -141,7 +141,6 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - retry_on: error retry_wait_seconds: 120 command: | scripts/pod_lib_lint.rb ${{ inputs.product }}.podspec --platforms=${{ matrix.platform }} \ diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 13c307610ea..e55e486c5f4 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -135,6 +135,5 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - retry_on: error retry_wait_seconds: 120 command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 6d583ebd780..2612d38ea7b 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -83,7 +83,6 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - retry_on: error retry_wait_seconds: 120 command: scripts/build.sh Firebase-Package iOS ${{ matrix.test }} diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 095bcd68332..1ae8108fb9c 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -24,24 +24,23 @@ concurrency: cancel-in-progress: true jobs: - # spm: - # uses: ./.github/workflows/common.yml - # with: - # target: FirebaseStorageUnit + spm: + uses: ./.github/workflows/common.yml + with: + target: FirebaseStorageUnit - # catalyst: - # uses: ./.github/workflows/common_catalyst.yml - # with: - # product: FirebaseStorage - # target: FirebaseStorage-Unit-unit + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseStorage + target: FirebaseStorage-Unit-unit storage-integration-tests: # 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' strategy: matrix: - # language: [Swift, ObjC] - language: [ObjC] + language: [Swift, ObjC] include: - os: macos-15 xcode: Xcode_16.4 @@ -74,96 +73,94 @@ jobs: with: timeout_minutes: 120 max_attempts: 3 - # retry_wait_seconds: 120 - retry_wait_seconds: 1 - # command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) - command: exit 1 + retry_wait_seconds: 120 + command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) - # 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' - # # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. - # strategy: - # matrix: - # include: - # #- os: macos-13 - # # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. - # - swift: swift - # os: macos-15 - # xcode: Xcode_16.4 - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # LEGACY: true - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - # - name: Setup quickstart - # run: scripts/setup_quickstart.sh storage - # - name: Install Secret GoogleService-Info.plist - # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ - # quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" - # - name: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - name: Test quickstart - # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.swift }}) + 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' + # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. + strategy: + matrix: + include: + #- os: macos-13 + # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. + - swift: swift + os: macos-15 + xcode: Xcode_16.4 + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + LEGACY: true + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup quickstart + run: scripts/setup_quickstart.sh storage + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ + quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Test quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.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 - # runs-on: macos-15 - # 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 storage - # - name: Install Secret GoogleService-Info.plist - # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ - # quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" - # # - name: Build objc quickstart - # # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) - # - name: Build swift quickstart - # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage 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" + 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 + runs-on: macos-15 + 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 storage + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ + quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" + # - name: Build objc quickstart + # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) + - name: Build swift quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage 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" - # pod_lib_lint: - # uses: ./.github/workflows/common_cocoapods.yml - # with: - # product: FirebaseStorage - # test_specs: unit + pod_lib_lint: + uses: ./.github/workflows/common_cocoapods.yml + with: + product: FirebaseStorage + test_specs: unit - # storage-cron-only: - # # Don't run on private repo. - # if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - # strategy: - # matrix: - # target: [ios, tvos, macos, watchos] - # build-env: - # - os: macos-14 - # xcode: Xcode_16.2 - # - os: macos-15 - # xcode: Xcode_16.4 - # runs-on: ${{ matrix.build-env.os }} - # needs: pod_lib_lint - # steps: - # - uses: actions/checkout@v4 - # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - # - name: Setup Bundler - # run: scripts/setup_bundler.sh - # - name: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - # - name: PodLibLint Storage Cron - # run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests + storage-cron-only: + # Don't run on private repo. + if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' + strategy: + matrix: + target: [ios, tvos, macos, watchos] + build-env: + - os: macos-14 + xcode: Xcode_16.2 + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.build-env.os }} + needs: pod_lib_lint + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: PodLibLint Storage Cron + run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests From 6809285b4a1719fa00c1f26d9056808c74507416 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Mon, 25 Aug 2025 13:03:22 -0400 Subject: [PATCH 6/6] decrease timeout threshold --- .github/workflows/auth.yml | 4 ++-- .github/workflows/common.yml | 2 +- .github/workflows/common_catalyst.yml | 2 +- .github/workflows/common_cocoapods.yml | 2 +- .github/workflows/crashlytics.yml | 2 +- .github/workflows/spm.yml | 2 +- .github/workflows/storage.yml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index c1fccf1c014..a8b04befda4 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -86,7 +86,7 @@ jobs: run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Auth iOS ${{ matrix.scheme }}) @@ -163,7 +163,7 @@ jobs: run: scripts/configure_test_keychain.sh - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml index 0a9753b289e..16ba348c402 100644 --- a/.github/workflows/common.yml +++ b/.github/workflows/common.yml @@ -112,7 +112,7 @@ jobs: - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 if: contains(join(inputs.platforms), matrix.platform) || matrix.os == 'macos-14' with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: | diff --git a/.github/workflows/common_catalyst.yml b/.github/workflows/common_catalyst.yml index 110f752fb6b..dd235d3847d 100644 --- a/.github/workflows/common_catalyst.yml +++ b/.github/workflows/common_catalyst.yml @@ -41,7 +41,7 @@ jobs: run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: | diff --git a/.github/workflows/common_cocoapods.yml b/.github/workflows/common_cocoapods.yml index b072b3537dc..e672dabcaf9 100644 --- a/.github/workflows/common_cocoapods.yml +++ b/.github/workflows/common_cocoapods.yml @@ -139,7 +139,7 @@ jobs: - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 if: contains(join(inputs.platforms), matrix.platform) || matrix.os == 'macos-14' with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: | diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index e55e486c5f4..6d61284351a 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -133,7 +133,7 @@ jobs: run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 2612d38ea7b..f4f8c05a539 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -81,7 +81,7 @@ jobs: run: FirebaseFunctions/Backend/start.sh synchronous - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: scripts/build.sh Firebase-Package iOS ${{ matrix.test }} diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 1ae8108fb9c..47d19b294c6 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -71,7 +71,7 @@ jobs: run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 with: - timeout_minutes: 120 + timeout_minutes: 15 max_attempts: 3 retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all)