firebase_app_check.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. name: firebase_app_check
  2. permissions:
  3. contents: read
  4. on:
  5. workflow_dispatch:
  6. pull_request:
  7. paths:
  8. - 'FirebaseAppCheck**'
  9. - '.github/workflows/firebase_app_check.yml'
  10. - '.github/workflows/common.yml'
  11. - '.github/workflows/common_cocoapods.yml'
  12. - '.github/workflows/common_catalyst.yml'
  13. - '.github/workflows/common_cocoapods_cron.yml'
  14. - 'Gemfile*'
  15. schedule:
  16. # Run every day at 12am (PDT) / 3am (EDT) - cron uses UTC times
  17. - cron: '0 7 * * *'
  18. concurrency:
  19. group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  20. cancel-in-progress: true
  21. jobs:
  22. spm:
  23. strategy:
  24. matrix:
  25. target: [FirebaseAppCheckUnit, FirebaseAppCheckUnitSwift]
  26. uses: ./.github/workflows/common.yml
  27. with:
  28. target: ${{ matrix.target }}
  29. catalyst:
  30. uses: ./.github/workflows/common_catalyst.yml
  31. with:
  32. product: FirebaseAppCheck
  33. target: FirebaseAppCheck-Unit-unit
  34. pod_lib_lint:
  35. strategy:
  36. matrix:
  37. product: [FirebaseAppCheckInterop, FirebaseAppCheck]
  38. uses: ./.github/workflows/common_cocoapods.yml
  39. with:
  40. product: ${{ matrix.product }}
  41. buildonly_platforms: macOS
  42. diagnostics:
  43. # Don't run on private repo unless it is a PR.
  44. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  45. runs-on: macos-15
  46. strategy:
  47. matrix:
  48. diagnostic: [tsan, asan, ubsan]
  49. steps:
  50. - uses: actions/checkout@v4
  51. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  52. with:
  53. cache_key: ${{ matrix.diagnostics }}
  54. - name: Xcode
  55. run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
  56. - name: Initialize xcodebuild
  57. run: scripts/setup_spm_tests.sh
  58. - name: iOS Unit Tests
  59. run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseAppCheckUnit iOS spm ${{ matrix.diagnostic }}
  60. - name: Upload raw logs if failed
  61. if: ${{ failure() }}
  62. uses: actions/upload-artifact@v4
  63. with:
  64. name: failure-xcodebuild-raw-logs
  65. path: xcodebuild.log
  66. app_check-cron-only:
  67. needs: pod_lib_lint
  68. uses: ./.github/workflows/common_cocoapods_cron.yml
  69. with:
  70. product: FirebaseAppCheck
  71. platforms: '[ "ios" ]'
  72. flags: '[ "--skip-tests --use-modular-headers" ]'