performance-integration-tests.yml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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: performance-integration-tests
  4. on:
  5. workflow_dispatch:
  6. pull_request:
  7. paths:
  8. # This configuration file.
  9. - '.github/workflows/performance-integration-tests.yml'
  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. # TODO: Validate when the timer starts after job is triggered.
  16. - cron: '0 */4 * * *'
  17. concurrency:
  18. group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  19. cancel-in-progress: true
  20. jobs:
  21. # Public repository: Build and run the Integration Tests for the Firebase performance E2E Test App.
  22. performance-integration-tests:
  23. if: github.repository == 'Firebase/firebase-ios-sdk'
  24. env:
  25. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  26. runs-on: macos-15
  27. steps:
  28. - uses: actions/checkout@v4
  29. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  30. with:
  31. cache_key: integration
  32. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  33. - name: Setup Bundler
  34. run: scripts/setup_bundler.sh
  35. - name: Install xcpretty
  36. run: gem install xcpretty
  37. - name: Install Secret GoogleService-Info.plist
  38. run: |
  39. scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Performance/GoogleService-Info_e2e_autopush.plist.gpg \
  40. FirebasePerformance/Tests/FIRPerfE2E/FIRPerfE2EAutopush/GoogleService-Info.plist "$plist_secret"
  41. scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Performance/GoogleService-Info_e2e_prod.plist.gpg \
  42. FirebasePerformance/Tests/FIRPerfE2E/FIRPerfE2EProd/GoogleService-Info.plist "$plist_secret"
  43. - name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
  44. run: scripts/third_party/travis/retry.sh scripts/build.sh Performance all integration