Skip to content

Merge branch 'swift-6' into mc/messaging #4075

Merge branch 'swift-6' into mc/messaging

Merge branch 'swift-6' into mc/messaging #4075

Workflow file for this run

# TODO(Swift 6): Re-enable these tests.
# name: remoteconfig
# on:
# pull_request:
# paths:
# - 'FirebaseRemoteConfig**'
# - 'Interop/Analytics/Public/*.h'
# - '.github/workflows/remoteconfig.yml'
# - 'Gemfile*'
# - 'scripts/generate_access_token.sh'
# - 'scripts/gha-encrypted/RemoteConfigSwiftAPI/**'
# schedule:
# # Run every day at 12am (PST) - cron uses UTC times
# - cron: '0 8 * * *'
# concurrency:
# group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
# cancel-in-progress: true
# jobs:
# remoteconfig:
# # 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 }}
# USE_REAL_CONSOLE: true
# runs-on: macos-15
# strategy:
# matrix:
# target: [iOS]
# steps:
# - uses: actions/checkout@v4
# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
# with:
# cache_key: rc${{ matrix.target }}
# - uses: ruby/setup-ruby@v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Install xcpretty
# run: gem install xcpretty
# - name: Install Secret GoogleService-Info.plist
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/RemoteConfigSwiftAPI/GoogleService-Info.plist.gpg \
# FirebaseRemoteConfig/Tests/Swift/SwiftAPI/GoogleService-Info.plist "$plist_secret"
# - name: Generate Access Token for RemoteConfigConsoleAPI in IntegrationTests
# if: matrix.target == 'iOS'
# run: ([ -z $plist_secret ] || scripts/generate_access_token.sh "$plist_secret" scripts/gha-encrypted/RemoteConfigSwiftAPI/ServiceAccount.json.gpg
# FirebaseRemoteConfig/Tests/Swift/AccessToken.json)
# - name: Fake Console API Tests
# run: scripts/third_party/travis/retry.sh scripts/build.sh RemoteConfig ${{ matrix.target }} fakeconsole
# - name: IntegrationTest
# if: matrix.target == 'iOS'
# # No retry to avoid exhausting AccessToken quota.
# run: ([ -z $plist_secret ] || scripts/build.sh RemoteConfig iOS integration)
# pod-lib-lint:
# # 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:
# # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532
# target: [ios, tvos, macos --skip-tests, watchos]
# podspec: [FirebaseRemoteConfig.podspec]
# build-env:
# # Flaky tests on CI
# - os: macos-15
# xcode: Xcode_16.2
# # TODO(#13078): Fix testing infra to enforce warnings again.
# tests: --allow-warnings
# 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.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.build-env.tests }}
# spm-package-resolved:
# env:
# FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
# runs-on: macos-15
# outputs:
# cache_key: ${{ steps.generate_cache_key.outputs.cache_key }}
# steps:
# - uses: actions/checkout@v4
# - name: Generate Swift Package.resolved
# id: swift_package_resolve
# run: |
# swift package resolve
# - name: Generate cache key
# id: generate_cache_key
# run: |
# cache_key="${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}"
# echo "cache_key=${cache_key}" >> "$GITHUB_OUTPUT"
# - uses: actions/cache/save@v4
# id: cache
# with:
# path: .build
# key: ${{ steps.generate_cache_key.outputs.cache_key }}
# spm:
# # 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'
# needs: [spm-package-resolved]
# strategy:
# matrix:
# include:
# - os: macos-15
# xcode: Xcode_16.2
# target: iOS
# test: spm
# - os: macos-15
# xcode: Xcode_16.2
# target: tvOS
# test: spm
# - os: macos-15
# xcode: Xcode_16.2
# target: macOS
# test: spm
# - os: macos-15
# xcode: Xcode_16.2
# target: watchOS
# test: spmbuildonly
# - os: macos-15
# xcode: Xcode_16.2
# target: catalyst
# test: spm
# - os: macos-15
# xcode: Xcode_16.2
# target: visionOS
# test: spm
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - uses: actions/cache/restore@v4
# with:
# path: .build
# key: ${{needs.spm-package-resolved.outputs.cache_key}}
# - name: Xcode
# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
# - name: Install visionOS, if needed.
# if: matrix.target == 'visionOS'
# run: xcodebuild -downloadPlatform visionOS
# - name: Initialize xcodebuild
# run: scripts/setup_spm_tests.sh
# - name: Unit Tests
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh RemoteConfigUnit ${{ matrix.target }} spm
# - name: Fake Console tests
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh RemoteConfigFakeConsole ${{ matrix.target }} ${{ matrix.test }}
# catalyst:
# # 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'
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
# with:
# cache_key: catalyst${{ matrix.os }}
# - uses: ruby/setup-ruby@v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Setup project and Build for Catalyst
# run: scripts/test_catalyst.sh FirebaseRemoteConfig test FirebaseRemoteConfig-Unit-unit
# 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 }}
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - uses: ruby/setup-ruby@v1
# - name: Setup quickstart
# run: scripts/setup_quickstart.sh config
# - name: Install Secret GoogleService-Info.plist
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \
# quickstart-ios/config/GoogleService-Info.plist "$plist_secret"
# - name: Test Swift Quickstart
# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Config true)
# # TODO(@sunmou99): currently have issue with this job, will re-enable it once the issue resolved.
# # quickstart-ftl-cron-only:
# # # Don't run on private repo.
# # 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 }}
# # runs-on: macos-15
# # steps:
# # - uses: actions/checkout@v4
# # - uses: ruby/setup-ruby@v1
# # - uses: actions/setup-python@v5
# # with:
# # python-version: '3.11'
# # - name: Setup quickstart
# # run: scripts/setup_quickstart.sh config
# # - name: Install Secret GoogleService-Info.plist
# # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \
# # quickstart-ios/config/GoogleService-Info.plist "$plist_secret"
# # - name: Build Swift Quickstart
# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Config)
# # - 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"
# sample-build-test:
# # 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'
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
# with:
# cache_key: build-test
# - uses: ruby/setup-ruby@v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Xcode
# run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
# - name: Prereqs
# run: scripts/install_prereqs.sh RemoteConfigSample iOS
# - name: Build
# run: scripts/build.sh RemoteConfigSample iOS
# remoteconfig-cron-only:
# # Don't run on private repo.
# if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
# runs-on: macos-15
# strategy:
# matrix:
# target: [ios, tvos, macos]
# flags: [
# '--skip-tests --use-static-frameworks'
# ]
# needs: pod-lib-lint
# steps:
# - uses: actions/checkout@v4
# - uses: ruby/setup-ruby@v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: PodLibLint RemoteConfig Cron
# run: |
# scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}