From c32ebbeddc56f6e47eeb4a4f5a025c933e781d5b Mon Sep 17 00:00:00 2001 From: Andrew Heard Date: Tue, 12 Nov 2024 20:10:06 -0500 Subject: [PATCH 1/6] [Infra] Update inappmessaging workflow to use macOS 15 for Xcode 16 --- .github/workflows/inappmessaging.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/inappmessaging.yml b/.github/workflows/inappmessaging.yml index c8d70fbeff4..9464fa3a245 100644 --- a/.github/workflows/inappmessaging.yml +++ b/.github/workflows/inappmessaging.yml @@ -24,14 +24,17 @@ jobs: strategy: matrix: podspec: [FirebaseInAppMessaging.podspec] - os: [macos-14] - xcode: [Xcode_15.2, Xcode_16] - runs-on: ${{ matrix.os }} + build-env: + - os: macos-14 + xcode: Xcode_15.2 + - os: macos-15 + xcode: Xcode_16.1 + runs-on: ${{ matrix.build-env.os }} steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - name: Setup Bundler run: scripts/setup_bundler.sh - name: FirebaseInAppMessaging @@ -97,7 +100,7 @@ jobs: - os: macos-14 xcode: Xcode_15.4 - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -139,7 +142,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 From 2b1ee6ec0b68cd9200011d1ee0afaa3c9d795ec8 Mon Sep 17 00:00:00 2001 From: Andrew Heard Date: Tue, 12 Nov 2024 20:19:12 -0500 Subject: [PATCH 2/6] Update crashlytics and installations workflows --- .github/workflows/crashlytics.yml | 23 +++++++++++++---------- .github/workflows/installations.yml | 27 +++++++++++++-------------- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 5638d5d35bc..6db61d378db 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -25,20 +25,23 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos --skip-tests] - os: [macos-14] flags: [ '--use-modular-headers --skip-tests', '' ] - xcode: [Xcode_15.2, Xcode_16] - runs-on: ${{ matrix.os }} + build-env: + - os: macos-14 + xcode: Xcode_15.2 + - os: macos-15 + xcode: Xcode_16.1 + runs-on: ${{ matrix.build-env.os }} steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: scripts/setup_bundler.sh - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - uses: nick-fields/retry@v3 with: timeout_minutes: 120 @@ -85,22 +88,22 @@ jobs: xcode: Xcode_15.4 target: iOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: iOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: tvOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: macOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: watchOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: catalyst - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: visionOS runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/installations.yml b/.github/workflows/installations.yml index 3a1da8aa802..d0913c2ed19 100644 --- a/.github/workflows/installations.yml +++ b/.github/workflows/installations.yml @@ -25,15 +25,14 @@ jobs: matrix: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-14] - include: + build-env: - os: macos-14 - xcode: Xcode_15.3 + xcode: Xcode_15.2 test-specs: unit,integration - - os: macos-14 - xcode: Xcode_16 + - os: macos-15 + xcode: Xcode_16.1 test-specs: unit - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.build-env.os }} steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -50,12 +49,12 @@ jobs: id: secrets run: echo "::set-output name=val::$([[ -z $plist_secret ]] && echo "0" || echo "1")" - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - name: Build and test run: | export FIS_INTEGRATION_TESTS_REQUIRED=${{ steps.secrets.outputs.val }} scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseInstallations.podspec \ - --platforms=${{ matrix.target }} --test-specs=${{ matrix.test-specs }} + --platforms=${{ matrix.target }} --test-specs=${{ matrix.build-env.test-specs }} spm-package-resolved: env: @@ -93,22 +92,22 @@ jobs: xcode: Xcode_15.4 target: iOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: iOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: tvOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: macOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: watchOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: catalyst - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: visionOS runs-on: ${{ matrix.os }} steps: From 65b236b679b7de0373ff5f3e4450552af0d12eaf Mon Sep 17 00:00:00 2001 From: Andrew Heard Date: Tue, 12 Nov 2024 20:21:53 -0500 Subject: [PATCH 3/6] Update sessions workflow --- .github/workflows/sessions.yml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/sessions.yml b/.github/workflows/sessions.yml index 73fff13c7aa..cddd363aebe 100644 --- a/.github/workflows/sessions.yml +++ b/.github/workflows/sessions.yml @@ -24,30 +24,29 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-14] - include: + build-env: - os: macos-14 xcode: Xcode_15.3 tests: # Flaky tests on CI - - os: macos-14 - xcode: Xcode_16 + - os: macos-15 + xcode: Xcode_16.1 tests: --skip-tests - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.build-env.os }} steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: scripts/setup_bundler.sh - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - uses: nick-fields/retry@v3 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 FirebaseSessions.podspec --platforms=${{ matrix.target }} ${{ matrix.tests }} + command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseSessions.podspec --platforms=${{ matrix.target }} ${{ matrix.build-env.tests }} spm-package-resolved: env: @@ -86,22 +85,22 @@ jobs: xcode: Xcode_15.4 target: iOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: iOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: tvOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: macOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: watchOS - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: catalyst - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: visionOS runs-on: ${{ matrix.os }} steps: From a436184ec028212d2323095289b8725ab3eb63a4 Mon Sep 17 00:00:00 2001 From: Andrew Heard Date: Tue, 12 Nov 2024 20:25:25 -0500 Subject: [PATCH 4/6] Update dynamic links and storage --- .github/workflows/dynamiclinks.yml | 2 +- .github/workflows/storage.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dynamiclinks.yml b/.github/workflows/dynamiclinks.yml index 61439d6cc3c..9304532dc90 100644 --- a/.github/workflows/dynamiclinks.yml +++ b/.github/workflows/dynamiclinks.yml @@ -114,7 +114,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 220f98b5741..790e8ebd39d 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -139,8 +139,8 @@ jobs: #- 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 + os: macos-15 + xcode: Xcode_16.1 env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} From 31e2f8a1f41de34a1b8af8acbbf770fa2abf0bb9 Mon Sep 17 00:00:00 2001 From: Andrew Heard Date: Tue, 12 Nov 2024 20:29:30 -0500 Subject: [PATCH 5/6] Update remoteconfig --- .github/workflows/remoteconfig.yml | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/remoteconfig.yml b/.github/workflows/remoteconfig.yml index eb5cae871c7..2036d8ab274 100644 --- a/.github/workflows/remoteconfig.yml +++ b/.github/workflows/remoteconfig.yml @@ -62,28 +62,27 @@ jobs: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] podspec: [FirebaseRemoteConfig.podspec] - os: [macos-14] - include: + build-env: - os: macos-14 xcode: Xcode_15.3 # TODO(#13078): Fix testing infra to enforce warnings again. tests: --allow-warnings # Flaky tests on CI - - os: macos-14 - xcode: Xcode_16 + - os: macos-15 + xcode: Xcode_16.1 tests: --skip-tests - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.build-env.os }} steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: scripts/setup_bundler.sh - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - name: Build and test run: | scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb ${{ matrix.podspec }} --platforms=${{ matrix.target }} \ - ${{ matrix.tests }} + ${{ matrix.build-env.tests }} spm-package-resolved: env: @@ -124,27 +123,27 @@ jobs: target: iOS test: spm - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: iOS test: spm - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: tvOS test: spm - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: macOS test: spm - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: watchOS test: spmbuildonly - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: catalyst test: spm - os: macos-15 - xcode: Xcode_16 + xcode: Xcode_16.1 target: visionOS test: spm runs-on: ${{ matrix.os }} @@ -184,7 +183,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 From c4e8dc7a891aa879c634f70317eacae7ae2405ce Mon Sep 17 00:00:00 2001 From: Andrew Heard Date: Tue, 12 Nov 2024 21:09:33 -0500 Subject: [PATCH 6/6] Run Crashlytics quickstart on macos-15 --- .github/workflows/crashlytics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 6db61d378db..f24d0f63de5 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -152,7 +152,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1