Skip to content

Commit 37e650d

Browse files
authored
Merge branch 'main' into main
2 parents c0404b6 + b6ae13f commit 37e650d

105 files changed

Lines changed: 6056 additions & 378 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/builds.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [macos-11, macos-12]
18+
os: [macos-15]
1919

2020
steps:
2121
- uses: actions/checkout@v3
22+
- name: Select Xcode
23+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
2224
- name: Archive for iOS
2325
run: |
2426
xcodebuild \

.github/workflows/integration_tests.yml

Lines changed: 76 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,63 @@ on:
99

1010
jobs:
1111

12+
grab-pr-body:
13+
runs-on: ubuntu-latest
14+
outputs:
15+
PR_BODY: ${{ steps.body.outputs.PR_BODY }}
16+
steps:
17+
- id: body
18+
env:
19+
PR_BODY: ${{ github.event.pull_request.body }}
20+
run: |
21+
{
22+
echo "PR_BODY<<EOF"
23+
echo "$PR_BODY"
24+
echo "EOF"
25+
} >> "$GITHUB_OUTPUT"
26+
27+
check-pr-body-for-key:
28+
runs-on: ubuntu-latest
29+
needs: grab-pr-body
30+
outputs:
31+
RUN_INTEGRATION: ${{ steps.check_key.outputs.RUN_INTEGRATION }}
32+
steps:
33+
- id: check_key
34+
env:
35+
PR_BODY: ${{ needs.grab-pr-body.outputs.PR_BODY }}
36+
SKIP_KEY: "SKIP_INTEGRATION_TESTS=YES"
37+
name: Check for key and set bool to skip integration tests
38+
run: |
39+
if [[ "$PR_BODY" == *"$SKIP_KEY"* ]]; then
40+
echo "Skipping integration tests for PR body:"
41+
echo "$PR_BODY"
42+
echo "RUN_INTEGRATION=no" >> "$GITHUB_OUTPUT"
43+
else
44+
echo "Running integration tests for PR body:"
45+
echo "$PR_BODY"
46+
echo "RUN_INTEGRATION=yes" >> "$GITHUB_OUTPUT"
47+
fi
48+
1249
swift-button-functional-test:
13-
runs-on: macOS-12
50+
runs-on: macos-15
51+
needs: check-pr-body-for-key
1452
# Don't run if triggered by a PR from a fork since our Secrets won't be provided to the runner.
15-
if: "!github.event.pull_request.head.repo.fork"
53+
if: ${{ needs.check-pr-body-for-key.outputs.RUN_INTEGRATION == 'yes' && !github.event.pull_request.head.repo.fork }}
1654
defaults:
1755
run:
1856
working-directory: Samples/Swift/DaysUntilBirthday
1957
steps:
2058
- name: Checkout
2159
uses: actions/checkout@v3
60+
- name: Select Xcode
61+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
2262
- name: Build test target for Google Sign-in button for Swift
2363
run: |
2464
xcodebuild \
2565
-project DaysUntilBirthday.xcodeproj \
2666
build-for-testing \
2767
-scheme DaysUntilBirthday\ \(iOS\) \
2868
-sdk iphonesimulator \
29-
-destination 'platform=iOS Simulator,name=iPhone 11'
3069
- name: Run test target for Google Sign-in button for Swift
3170
env:
3271
EMAIL_SECRET : ${{ secrets.EMAIL_SECRET }}
@@ -37,6 +76,39 @@ jobs:
3776
test-without-building \
3877
-scheme DaysUntilBirthday\ \(iOS\) \
3978
-sdk iphonesimulator \
40-
-destination 'platform=iOS Simulator,name=iPhone 11' \
79+
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.6' \
4180
EMAIL_SECRET=$EMAIL_SECRET \
4281
PASSWORD_SECRET=$PASSWORD_SECRET
82+
83+
app-check-api-token-tests:
84+
runs-on: macos-15
85+
# Don't run if triggered by a PR from a fork since our Secrets won't be provided to the runner.
86+
if: "!github.event.pull_request.head.repo.fork"
87+
defaults:
88+
run:
89+
working-directory: Samples/Swift/AppAttestExample
90+
steps:
91+
- name: Checkout
92+
uses: actions/checkout@v3
93+
- name: Select Xcode
94+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
95+
- name: Build test target for App Check Example
96+
run: |
97+
xcodebuild \
98+
-project AppAttestExample.xcodeproj \
99+
build-for-testing \
100+
-scheme AppAttestExample \
101+
-sdk iphonesimulator \
102+
- name: Run test target for App Check Example
103+
env:
104+
AppCheckDebugToken : ${{ secrets.APP_CHECK_DEBUG_TOKEN }}
105+
APP_CHECK_WEB_API_KEY : ${{ secrets.APP_CHECK_WEB_API_KEY }}
106+
run: |
107+
xcodebuild \
108+
-project AppAttestExample.xcodeproj \
109+
test-without-building \
110+
-scheme AppAttestExample \
111+
-sdk iphonesimulator \
112+
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.6' \
113+
AppCheckDebugToken=$AppCheckDebugToken \
114+
APP_CHECK_WEB_API_KEY=$APP_CHECK_WEB_API_KEY

.github/workflows/pr_notification.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,18 @@ jobs:
1111
- name: Pull Request Details
1212
run: |
1313
echo "Pull Request: ${{ github.event.pull_request.number }}"
14-
echo "Author: ${{ github.event.pull_request.user.login }}"
14+
echo "Author: ${GITHUB_EVENT_PULL_REQUEST_USER_LOGIN}"
15+
env:
16+
GITHUB_EVENT_PULL_REQUEST_USER_LOGIN: ${{ github.event.pull_request.user.login }}
1517

1618
- name: Google Chat Notification
1719
shell: bash
1820
env:
1921
TITLE: ${{ github.event.pull_request.title }}
2022
LABELS: ${{ join(github.event.pull_request.labels.*.name, ', ') }}
23+
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
24+
GITHUB_EVENT_PULL_REQUEST_USER_LOGIN: ${{ github.event.pull_request.user.login }}
25+
GITHUB_EVENT_PULL_REQUEST_HTML_URL: ${{ github.event.pull_request.html_url }}
2126
run: |
2227
curl --location --request POST '${{ secrets.WEBHOOK_URL }}' \
2328
--header 'Content-Type: application/json' \
@@ -34,7 +39,7 @@ jobs:
3439
{
3540
"keyValue": {
3641
"topLabel": "Repo",
37-
"content": "${{ github.event.pull_request.head.repo.full_name }}"
42+
"content": "${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}"
3843
}
3944
},
4045
{
@@ -46,7 +51,7 @@ jobs:
4651
{
4752
"keyValue": {
4853
"topLabel": "Creator",
49-
"content": "${{ github.event.pull_request.user.login }}"
54+
"content": "${GITHUB_EVENT_PULL_REQUEST_USER_LOGIN}"
5055
}
5156
},
5257
{
@@ -80,7 +85,7 @@ jobs:
8085
"text": "Open Pull Request",
8186
"onClick": {
8287
"openLink": {
83-
"url": "${{ github.event.pull_request.html_url }}"
88+
"url": "${GITHUB_EVENT_PULL_REQUEST_HTML_URL}"
8489
}
8590
}
8691
}

.github/workflows/push_notification.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ jobs:
1414
- name: Main Branch Push
1515
run: |
1616
echo "Workflow initiated by event with name: ${{ github.event_name }}"
17-
echo "Pushing commit to main: ${{ github.event.head_commit.id }}"
18-
echo "Pushed by: ${{ github.event.pusher.name }}"
17+
echo "Pushing commit to main: ${GITHUB_EVENT_HEAD_COMMIT_ID}"
18+
echo "Pushed by: ${GITHUB_EVENT_PUSHER_NAME}"
19+
env:
20+
GITHUB_EVENT_HEAD_COMMIT_ID: ${{ github.event.head_commit.id }}
21+
GITHUB_EVENT_PUSHER_NAME: ${{ github.event.pusher.name }}
1922

2023
- name: Push Notification to Google Chat
2124
run: |
@@ -34,13 +37,13 @@ jobs:
3437
{
3538
"keyValue": {
3639
"topLabel": "Repo",
37-
"content": "${{ github.event.repository.full_name }}"
40+
"content": "${GITHUB_EVENT_REPOSITORY_FULL_NAME}"
3841
}
3942
},
4043
{
4144
"keyValue": {
4245
"topLabel": "Committed by",
43-
"content": "${{ github.event.head_commit.author.username }}"
46+
"content": "${GITHUB_EVENT_HEAD_COMMIT_AUTHOR_USERNAME}"
4447
}
4548
},
4649
{
@@ -50,7 +53,7 @@ jobs:
5053
"text": "Ref comparison",
5154
"onClick": {
5255
"openLink": {
53-
"url": "${{ github.event.compare }}"
56+
"url": "${GITHUB_EVENT_COMPARE}"
5457
}
5558
}
5659
}
@@ -63,4 +66,8 @@ jobs:
6366
}
6467
]
6568
}'
69+
env:
70+
GITHUB_EVENT_REPOSITORY_FULL_NAME: ${{ github.event.repository.full_name }}
71+
GITHUB_EVENT_HEAD_COMMIT_AUTHOR_USERNAME: ${{ github.event.head_commit.author.username }}
72+
GITHUB_EVENT_COMPARE: ${{ github.event.compare }}
6673

.github/workflows/scorecards.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
5050
# format to the repository Actions tab.
5151
- name: "Upload artifact"
52-
uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 # tag=v3.0.0
52+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # tag=v4.6.2
5353
with:
5454
name: SARIF file
5555
path: results.sarif

.github/workflows/unit_tests.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
os: [macos-12]
17+
os: [macos-15]
1818
podspec: [GoogleSignIn.podspec, GoogleSignInSwiftSupport.podspec]
1919
flag: [
2020
"",
@@ -30,24 +30,26 @@ jobs:
3030
- name: Install Ruby gems with Bundler
3131
run: bundle install
3232
- name: Lint podspec using local source
33+
# See #400 (https://github.com/google/GoogleSignIn-iOS/issues/400)
3334
run: |
3435
pod lib lint ${{ matrix.podspec }} --verbose \
35-
${{ matrix.includePodspecFlag }} ${{ matrix.flag }}
36-
36+
${{ matrix.includePodspecFlag }} ${{ matrix.flag }}
3737
spm-build-test:
3838
runs-on: ${{ matrix.os }}
3939
strategy:
4040
fail-fast: false
4141
matrix:
42-
os: [macos-12]
42+
os: [macos-15]
4343
sdk: ['macosx', 'iphonesimulator']
4444
include:
4545
- sdk: 'macosx'
4646
destination: '"platform=OS X,arch=x86_64"'
4747
- sdk: 'iphonesimulator'
48-
destination: '"platform=iOS Simulator,name=iPhone 11"'
48+
destination: '"platform=iOS Simulator,name=iPhone 16,OS=18.6"'
4949
steps:
5050
- uses: actions/checkout@v3
51+
- name: Select Xcode
52+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
5153
- name: Build unit test target
5254
run: |
5355
xcodebuild \

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,10 @@ Credentials.xcconfig
1616
Pods/
1717
gen/
1818
Podfile.lock
19+
20+
# Firebase App Check Example
21+
**/GoogleService-Info.plist
22+
23+
# Swift Build
24+
.build/
25+
Package.resolved

CHANGELOG.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,89 @@
1+
# 9.1.0
2+
- Allow requesting `claims` (currently, only `auth_time`) via [Sign-in methods](https://github.com/google/GoogleSignIn-iOS/blob/gandhiakshat/update-changelog-for-9.1.0-release/GoogleSignIn/Sources/Public/GoogleSignIn/GIDSignIn.h#L240) ([#550](https://github.com/google/GoogleSignIn-iOS/pull/550), [#552](https://github.com/google/GoogleSignIn-iOS/pull/552), [#553](https://github.com/google/GoogleSignIn-iOS/pull/553), [#569](https://github.com/google/GoogleSignIn-iOS/pull/569))
3+
- Update `addScopes:` methods in `GIDSignIn` to include previously requested `claims` ([#557](https://github.com/google/GoogleSignIn-iOS/pull/557))
4+
- Internal
5+
- Assign to `keychainStore` asap in initializer ([#540](https://github.com/google/GoogleSignIn-iOS/pull/540))
6+
- Add support for Swift 6 ([#543](https://github.com/google/GoogleSignIn-iOS/pull/543), [#544](https://github.com/google/GoogleSignIn-iOS/pull/544), [#546](https://github.com/google/GoogleSignIn-iOS/pull/546))
7+
- Update GitHub Actions workflows ([#545](https://github.com/google/GoogleSignIn-iOS/pull/545), [#570](https://github.com/google/GoogleSignIn-iOS/pull/570))
8+
- Update the `DaysUntilBirthday` sample app to support `auth_time` claim ([#555](https://github.com/google/GoogleSignIn-iOS/pull/555))
9+
- Rename `tokenClaims` to `claims` throughout the code ([#568](https://github.com/google/GoogleSignIn-iOS/pull/568))
10+
11+
# 9.0.0
12+
- Allow providing a custom `nonce` via GSI to AppAuth ([#402](https://github.com/google/GoogleSignIn-iOS/pull/402), [#476](https://github.com/google/GoogleSignIn-iOS/pull/476))
13+
- Fix invalid error code in `GIDSignIn` ([#472](https://github.com/google/GoogleSignIn-iOS/pull/472))
14+
- Add support for GTMAppAuth 5 on macOS ([#522](https://github.com/google/GoogleSignIn-iOS/pull/522))
15+
- Fix Data Protected migration bugs ([#533](https://github.com/google/GoogleSignIn-iOS/pull/533))
16+
- Internal
17+
- Add AppAuthCore as explicit dependency ([#470](https://github.com/google/GoogleSignIn-iOS/pull/470))
18+
- Update iPhone simulator from 14 to 15 ([#494](https://github.com/google/GoogleSignIn-iOS/pull/494))
19+
- Fix swift button integration test ([#497](https://github.com/google/GoogleSignIn-iOS/pull/497))
20+
- Update runner to macos-13 ([#498](https://github.com/google/GoogleSignIn-iOS/pull/498))
21+
- Update `scorecards.yml` to use `upload-artifact@v4.6.2` ([#516](https://github.com/google/GoogleSignIn-iOS/pull/516))
22+
- Update AppAuth and GTMAppAuth dependencies ([#517](https://github.com/google/GoogleSignIn-iOS/pull/517), [#521](https://github.com/google/GoogleSignIn-iOS/pull/521))
23+
- Fix Swift integration tests for a returning user ([#518](https://github.com/google/GoogleSignIn-iOS/pull/518))
24+
- Update `.gitignore` to include .build and Package.resolved ([#520](https://github.com/google/GoogleSignIn-iOS/pull/520))
25+
- Update GIDSignInTest to correctly setUp and tearDown NSUserDefaults ([#527](https://github.com/google/GoogleSignIn-iOS/pull/527))
26+
27+
# 8.0.0
28+
- General release adding Firebase App Check support to establish your
29+
application's integrity while signing in with Google
30+
- Update minimum iOS support to iOS 12 ([#445](https://github.com/google/GoogleSignIn-iOS/pull/445))
31+
- Internal
32+
- Update AppCheckCore dependency to v11.0 ([#454](https://github.com/google/GoogleSignIn-iOS/pull/454))
33+
- Add instancetype return to test helper ([#393](https://github.com/google/GoogleSignIn-iOS/pull/393))
34+
- Remove GTMSessionFetcher modular import ([#403](https://github.com/google/GoogleSignIn-iOS/pull/403))
35+
- Bump activesupport from 5.2.5 to 5.2.8.1 in the bundler group ([#429](https://github.com/google/GoogleSignIn-iOS/pull/429))
36+
- Remove deprecated macos-11 runner ([#447](https://github.com/google/GoogleSignIn-iOS/pull/447))
37+
- Update deprecated archiving API usage in tests ([#449](https://github.com/google/GoogleSignIn-iOS/pull/449))
38+
39+
# 7.1.0-fac-beta-1.1.0
40+
- Beta release supporting Firebase App Check tokens used
41+
to establish your application's integrity while signing in with Google
42+
- Adds privacy manifest support released in [v7.1.0](https://github.com/google/GoogleSignIn-iOS/releases/tag/7.1.0)
43+
- Internal
44+
- Check integration test for presubmit instruction ([#368](https://github.com/google/GoogleSignIn-iOS/pull/368))
45+
- Test skip integration key ([#374](https://github.com/google/GoogleSignIn-iOS/pull/374))
46+
- Add Privacy Manifest to App Check Release Branch ([#392](https://github.com/google/GoogleSignIn-iOS/pull/392))
47+
- [Add return type to init in GIDFakeFetcherService header](https://github.com/google/GoogleSignIn-iOS/commit/ebf681cac127497da55c932cb5bbf185971a29e7)
48+
49+
# 7.1.0
50+
- Update to Swift 5.0 in `GoogleSignInSwiftSupport` pod ([#317](https://github.com/google/GoogleSignIn-iOS/pull/317))
51+
- Documentation updates ([#351](https://github.com/google/GoogleSignIn-iOS/pull/351), [#372](https://github.com/google/GoogleSignIn-iOS/pull/372))
52+
- Add Privacy Manifest ([#382](https://github.com/google/GoogleSignIn-iOS/pull/382))
53+
- Internal
54+
- Fix typo in `SFSafariViewController` ([#291](https://github.com/google/GoogleSignIn-iOS/pull/291))
55+
- Fix `OCMock` usage in unit test ([#298](https://github.com/google/GoogleSignIn-iOS/pull/298))
56+
- Use new [delegate protocol](https://github.com/google/GTMAppAuth/pull/224) from GTMAppAuth 4.0.0 ([#299](https://github.com/google/GoogleSignIn-iOS/pull/299))
57+
- Ensure that `completion` is not nil before calling `-[GIDSignIn restorePreviousSignIn:]` ([#301](https://github.com/google/GoogleSignIn-iOS/pull/301))
58+
- Removes `macos-11` runner in GitHub workflows ([#302](https://github.com/google/GoogleSignIn-iOS/pull/302))
59+
- Updates button name reference so UI automation tests pass ([#308](https://github.com/google/GoogleSignIn-iOS/pull/308))
60+
61+
# 7.1.0-fac-beta-1.0.0
62+
- Beta release supporting Firebase App Check tokens used
63+
to establish your application's integrity while signing in with Google
64+
- Internal
65+
- Update SignInSample Podfile minimum iOS version ([#355](https://github.com/google/GoogleSignIn-iOS/pull/355))
66+
- Update AppCheckExample unit test target to pass during continuous integration ([#356](https://github.com/google/GoogleSignIn-iOS/pull/356))
67+
68+
# 7.1.0-fac-eap-1.0.0
69+
- Early Access Program (EAP) release supporting Firebase App Check tokens used
70+
to establish your application's integrity while signing in with Google
71+
- Use [`-[GIDSignIn configureWithCompletion:]`](https://github.com/google/GoogleSignIn-iOS/blob/7.1.0-fac-eap-1.0.0/GoogleSignIn/Sources/Public/GoogleSignIn/GIDSignIn.h#L79)
72+
to configure GSI to use Firebase App Check as early as possible in your app
73+
to minimize latency.
74+
- Use [`-[GIDSignIn configureDebugProviderWithAPIKey:completion:]`](https://github.com/google/GoogleSignIn-iOS/blob/7.1.0-fac-eap-1.0.0/GoogleSignIn/Sources/Public/GoogleSignIn/GIDSignIn.h#L91)
75+
in debug builds or continuous integration environments.
76+
- New [sample app](https://github.com/google/GoogleSignIn-iOS/tree/7.1.0-fac-eap-1.0.0/Samples/Swift/AppAttestExample)
77+
showing example of configuring GSI to use Firebase App Check.
78+
- Internal
79+
- Fix typo in `SFSafariViewController` ([#291](https://github.com/google/GoogleSignIn-iOS/pull/291))
80+
- Removes `macos-11` runner in GitHub workflows ([#302](https://github.com/google/GoogleSignIn-iOS/pull/302))
81+
- Updates button name reference so UI automation tests pass ([#308](https://github.com/google/GoogleSignIn-iOS/pull/308))
82+
- Ensure that `completion` is not nil before calling
83+
`-[GIDSignIn restorePreviousSignIn:]` ([#301](https://github.com/google/GoogleSignIn-iOS/pull/301))
84+
- Use new [delegate protocol](https://github.com/google/GTMAppAuth/pull/224)
85+
from GTMAppAuth 4.0.0 ([#299](https://github.com/google/GoogleSignIn-iOS/pull/299))
86+
187
# 7.0.0
288
- All configuration can now be provided via your `Info.plist` file. ([#228](https://github.com/google/GoogleSignIn-iOS/pull/228))
389
- Use the following keys in `<key>KEY</key><string>VALUE</string>` pairs to configure the SDK:

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
source 'https://rubygems.org'
22

3-
gem 'cocoapods', '1.10.1'
3+
gem 'cocoapods', '1.15.2'

0 commit comments

Comments
 (0)