This repository has been archived by the owner on Nov 1, 2021. It is now read-only.
forked from firebase/firebase-ios-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
144 lines (128 loc) · 6.12 KB
/
auth.yml
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: auth
on:
pull_request:
paths:
- 'FirebaseAuth**'
- 'Interop/Auth/Public/*.h'
- '.github/workflows/auth.yml'
- 'Gemfile*'
schedule:
# Run every day at 1am (PST) - cron uses UTC times
- cron: '0 9 * * *'
jobs:
pod-lib-lint:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
runs-on: macOS-latest
strategy:
matrix:
target: [ios, tvos, macos, watchos]
steps:
- uses: actions/checkout@v2
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Build and test
run: |
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }}
integration-tests:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Prereqs
run: scripts/install_prereqs.sh Auth iOS
- name: Install Secrets
run: |
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthCredentials.h.gpg \
FirebaseAuth/Tests/Sample/ApiTests/AuthCredentials.h "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Application.plist.gpg \
FirebaseAuth/Tests/Sample/Sample/Application.plist "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/AuthCredentials.h.gpg \
FirebaseAuth/Tests/Sample/Sample/AuthCredentials.h "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/GoogleService-Info.plist.gpg \
FirebaseAuth/Tests/Sample/Sample/GoogleService-Info.plist "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/GoogleService-Info_multi.plist.gpg \
FirebaseAuth/Tests/Sample/Sample/GoogleService-Info_multi.plist "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Sample.entitlements.gpg \
FirebaseAuth/Tests/Sample/Sample/Sample.entitlements "$plist_secret"
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/AuthSample/Credentials.swift.gpg \
FirebaseAuth/Tests/Sample/SwiftApiTests/Credentials.swift "$plist_secret"
- name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/build.sh Auth iOS)
spm:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
runs-on: macOS-latest
strategy:
matrix:
target: [iOS, tvOS, macOS, catalyst]
steps:
- uses: actions/checkout@v2
- name: Initialize xcodebuild
run: xcodebuild -list
- name: Unit Tests
run: scripts/third_party/travis/retry.sh ./scripts/build.sh AuthUnit ${{ matrix.target }} spm
catalyst:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Setup project and Build for Catalyst
# Only build the unit tests on Catalyst. Their keychain reliance causes several failures.
run: scripts/test_catalyst.sh FirebaseAuth build FirebaseAuth-Unit-unit
quickstart:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- 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-auth.plist.gpg \
quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
- name: Install Secret FIREGSignInInfo.h
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
- name: Test swift quickstart
run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Authentication)
auth-cron-only:
# Don't run on private repo.
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
runs-on: macos-latest
strategy:
matrix:
# The macos and tvos tests can hang, and watchOS doesn't have tests.
target: [ios, tvos --skip-tests, macos --skip-tests, watchos --skip-tests]
flags: [
'--use-static-frameworks',
'--use-libraries'
]
needs: pod-lib-lint
steps:
- uses: actions/checkout@v2
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: PodLibLint Auth Cron
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
podspec-presubmit:
# Don't run on private repo unless it is a PR.
if: github.repository == 'Firebase/firebase-ios-sdk' && github.event.pull_request.merged != true && github.event.action != 'closed'
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Build and test
run: scripts/third_party/travis/retry.sh pod spec lint FirebaseAuth.podspec --skip-tests --sources='https://github.com/firebase/SpecsTesting','https://github.com/firebase/SpecsDev.git','https://github.com/firebase/SpecsStaging.git','https://cdn.cocoapods.org/'