-
Notifications
You must be signed in to change notification settings - Fork 1.8k
88 lines (78 loc) · 2.5 KB
/
sdk.performance.yml
File metadata and controls
88 lines (78 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Merge the yml file to main branch for the cron job schedule to be effective.
# Reference: https://github.community/t/on-schedule-per-branch/17525
name: sdk.performance
permissions:
contents: read
on:
workflow_dispatch:
pull_request:
paths:
# Performance sources
- 'FirebasePerformance/**'
# Podspec
- 'FirebasePerformance.podspec'
# YML configuration file
- '.github/workflows/sdk.performance.yml'
# Re-usable workflows depended on by this file.
- '.github/workflows/_spm.yml'
- '.github/workflows/_cocoapods.yml'
- '.github/workflows/_catalyst.yml'
- '.github/workflows/_quickstart.yml'
- '.github/workflows/_cocoapods.cron.yml'
# Rebuild on Ruby infrastructure changes
- 'Gemfile*'
schedule:
# Run every day at 12am (PDT) / 3am (EDT) - cron uses UTC times
# Specified in format 'minutes hours day month dayofweek'
- cron: '0 7 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
spm:
uses: ./.github/workflows/_spm.yml
with:
target: PerformanceUnit
platforms: iOS, tvOS
catalyst:
uses: ./.github/workflows/_catalyst.yml
with:
product: FirebasePerformance
target:
buildonly: true
# Build and run the unit tests for Firebase performance SDK.
performance:
strategy:
matrix:
target: [iOS, tvOS]
test: [unit, proddev]
uses: ./.github/workflows/_build.yml
with:
product: Performance
platform: ${{ matrix.target }}
method: ${{ matrix.test }}
setup_command: gem install xcpretty
pod_lib_lint:
uses: ./.github/workflows/_cocoapods.yml
with:
product: FirebasePerformance
platforms: iOS, tvOS
#TODO: tests are not supported with Xcode 15 because the test spec depends on the iOS 8 GDCWebServer
buildonly_platforms: iOS, tvOS
quickstart:
uses: ./.github/workflows/_quickstart.yml
with:
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
run_tests: false
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
performance-cron-only:
needs: pod_lib_lint
uses: ./.github/workflows/_cocoapods.cron.yml
with:
product: FirebasePerformance
platforms: '[ "ios", "tvos" ]'
flags: '[ "--skip-tests --use-static-frameworks" ]'