sessions-integration-tests.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Merge the yml file to main branch for the cron job schedule to be effective.
  2. # Reference: https://github.community/t/on-schedule-per-branch/17525
  3. name: sessions-integration-tests
  4. on:
  5. pull_request:
  6. paths:
  7. # This configuration file.
  8. - '.github/workflows/sessions-integration-tests.yml'
  9. - 'FirebaseSessions/Tests/TestApp'
  10. # See cron syntax references:
  11. # - https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule
  12. # - https://crontab.guru/
  13. schedule:
  14. # Runs every 4 hours.
  15. - cron: '0 */4 * * *'
  16. concurrency:
  17. group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  18. cancel-in-progress: true
  19. jobs:
  20. # Public repository: Build and run the Integration Tests for the Firebase sessions E2E Test App across all environments.
  21. sessions-integration-tests:
  22. if: github.repository == 'Firebase/firebase-ios-sdk'
  23. env:
  24. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  25. runs-on: macos-14
  26. steps:
  27. - uses: actions/checkout@v4
  28. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  29. with:
  30. cache_key: sessions-integration-tests
  31. - uses: ruby/setup-ruby@v1
  32. - name: Setup Bundler
  33. run: scripts/setup_bundler.sh
  34. - name: Install xcpretty
  35. run: gem install xcpretty
  36. - name: Install Secret GoogleService-Info.plist
  37. run: |
  38. scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Sessions/GoogleService-Info_TestApp.plist.gpg \
  39. FirebaseSessions/Tests/TestApp/Shared/GoogleService-Info.plist "$plist_secret"
  40. - name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
  41. run: scripts/third_party/travis/retry.sh scripts/build.sh Sessions all integration