diff --git a/.github/workflows/abtesting.yml b/.github/workflows/abtesting.yml index f5a2d6f81c0..d511ed2f21a 100644 --- a/.github/workflows/abtesting.yml +++ b/.github/workflows/abtesting.yml @@ -51,38 +51,6 @@ jobs: 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 }} - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Install xcpretty - run: gem install xcpretty - - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - name: Setup quickstart - run: scripts/setup_quickstart.sh abtesting - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \ - quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret" - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - - name: Build swift quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh ABTesting) - - 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" abtesting-cron-only: needs: pod_lib_lint diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index 4a0f8a36547..e08ee6f55ed 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -104,34 +104,6 @@ jobs: secrets: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # 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 }} - # runs-on: macos-14 - # 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 authentication - # - name: Install Secret GoogleService-Info.plist - # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-authentication.plist.gpg \ - # quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret" - # - name: Build swift quickstart - # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Authentication) - # - 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" - auth-cron-only: needs: pod_lib_lint uses: ./.github/workflows/common_cocoapods_cron.yml diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 79288931bc6..3be9c820cd6 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -54,39 +54,6 @@ jobs: 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 }} - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Install xcpretty - run: gem install xcpretty - - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - - name: Setup quickstart - run: scripts/setup_quickstart.sh crashlytics - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \ - quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret" - - name: Build swift quickstart - run: | - ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Crashlytics 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" crashlytics-cron-only: needs: pod_lib_lint diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml index 07cafd50e4e..fefd68ae5df 100644 --- a/.github/workflows/functions.yml +++ b/.github/workflows/functions.yml @@ -53,41 +53,6 @@ jobs: # TODO(ncooke3): Add a Functions quickstart test. - # 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/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: needs: pod_lib_lint uses: ./.github/workflows/common_cocoapods_cron.yml diff --git a/.github/workflows/installations.yml b/.github/workflows/installations.yml index 140274967e2..3e9d25c3d40 100644 --- a/.github/workflows/installations.yml +++ b/.github/workflows/installations.yml @@ -59,35 +59,6 @@ jobs: 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' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Install xcpretty - run: gem install xcpretty - - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - - name: Setup quickstart - run: scripts/setup_quickstart.sh installations - - name: Copy mock plist - run: cp quickstart-ios/mock-GoogleService-Info.plist quickstart-ios/installations/GoogleService-Info.plist - - name: Build quickstart - run: scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Installations - - 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" - installations-cron-only: needs: pod_lib_lint uses: ./.github/workflows/common_cocoapods_cron.yml diff --git a/.github/workflows/messaging.yml b/.github/workflows/messaging.yml index b7f9917829b..550607657da 100644 --- a/.github/workflows/messaging.yml +++ b/.github/workflows/messaging.yml @@ -89,32 +89,6 @@ jobs: secrets: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart-ftl-cron-only: - if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule' - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - - name: Setup quickstart - run: scripts/setup_quickstart.sh messaging - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \ - quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret" - - name: Build quickstart - run: ([ -z $plist_secret ] || - scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Messaging) - - 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" messaging-cron-only: uses: ./.github/workflows/common_cocoapods_cron.yml diff --git a/.github/workflows/nightly_ftl.yml b/.github/workflows/nightly_ftl.yml new file mode 100644 index 00000000000..4808f5d0cf6 --- /dev/null +++ b/.github/workflows/nightly_ftl.yml @@ -0,0 +1,93 @@ +name: nightly_ftl + +permissions: + contents: read + +on: + schedule: + # Every day at 6 AM UTC + - cron: '0 6 * * *' + workflow_dispatch: + pull_request: + +jobs: + ftl_test: + if: github.repository == 'Firebase/firebase-ios-sdk' + runs-on: macos-15 + name: ${{ matrix.product }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + strategy: + fail-fast: false + matrix: + include: + - product: Messaging + setup_command: scripts/setup_quickstart.sh messaging + plist_src_path: scripts/gha-encrypted/qs-messaging.plist.gpg + plist_dst_path: quickstart-ios/messaging/GoogleService-Info.plist + build_command: scripts/test_quickstart_ftl.sh Messaging + - product: Storage + setup_command: scripts/setup_quickstart.sh storage + plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg + plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist + build_command: scripts/test_quickstart_ftl.sh Storage swift + - product: Crashlytics + setup_command: scripts/setup_quickstart.sh crashlytics + plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg + plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist + build_command: scripts/test_quickstart_ftl.sh Crashlytics swift + - product: ABTesting + setup_command: scripts/setup_quickstart.sh abtesting + plist_src_path: scripts/gha-encrypted/qs-abtesting.plist.gpg + plist_dst_path: quickstart-ios/abtesting/GoogleService-Info.plist + build_command: scripts/test_quickstart_ftl.sh ABTesting + - product: Performance + setup_command: scripts/setup_quickstart.sh performance + plist_src_path: scripts/gha-encrypted/qs-performance.plist.gpg + plist_dst_path: quickstart-ios/performance/GoogleService-Info.plist + build_command: scripts/test_quickstart_ftl.sh Performance swift + - product: Installations + setup_command: scripts/setup_quickstart.sh installations + plist_src_path: scripts/gha-encrypted/Installations/GoogleService-Info.plist.gpg + plist_dst_path: quickstart-ios/installations/GoogleService-Info.plist + build_command: scripts/test_quickstart_ftl.sh Installations + # TODO(ncooke3): Get these samples building. + # - product: Authentication + # setup_command: scripts/setup_quickstart.sh authentication + # plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg + # plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist + # build_command: scripts/test_quickstart_ftl.sh Authentication + # This is probably dated: sed -i '' 's/REVERSED_CLIENT_ID/com.googleusercontent.apps.1025801074639-6p6ebi8amuklcjrto20gvpe295smm8u6/' quickstart-ios/functions/LegacyFunctionsQuickstart/FunctionsExample/Info.plist + # - product: Functions + # setup_command: scripts/setup_quickstart.sh functions + # plist_src_path: scripts/gha-encrypted/qs-functions.plist.gpg + # plist_dst_path: quickstart-ios/functions/GoogleService-Info.plist + # build_command: scripts/test_quickstart_ftl.sh Functions + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Install xcpretty + run: gem install xcpretty + - uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: Xcode + run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer + - name: Setup quickstart + run: ${{ matrix.setup_command }} + - name: Install Secret GoogleService-Info.plist + run: | + scripts/decrypt_gha_secret.sh \ + ${{ matrix.plist_src_path }} \ + ${{ matrix.plist_dst_path }} \ + "$plist_secret" + - name: Build swift quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh ${{ matrix.build_command }}) + - 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" diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index c51a6341e96..395e4a1db1d 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -85,38 +85,6 @@ jobs: secrets: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart-ftl-cron-only: - if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule' - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Install xcpretty - run: gem install xcpretty - - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - - name: Install xcpretty - run: gem install xcpretty - - name: Setup quickstart - run: scripts/setup_quickstart.sh performance - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-performance.plist.gpg \ - quickstart-ios/performance/GoogleService-Info.plist "$plist_secret" - - name: Build swift quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Performance 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" performance-cron-only: needs: pod_lib_lint diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 25d0b60e788..65a41b6e8fd 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -87,37 +87,6 @@ jobs: 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 }} - 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 Bundler - run: scripts/setup_bundler.sh - - name: Install xcpretty - run: gem install xcpretty - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer - - 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 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