Skip to content

Commit 30180b0

Browse files
authored
Merge branch 'main' into feature/fix-document-comments
2 parents 9f3ed94 + b6ae13f commit 30180b0

149 files changed

Lines changed: 9361 additions & 2517 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.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug Report
3+
about: Submit a bug report if something isn't working as expected.
4+
title: ""
5+
labels: bug, triage
6+
assignees: ""
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
1. Go to '...'
15+
2. Tap on '....'
16+
3. Scroll down to '....'
17+
4. See error
18+
19+
**Expected behavior**
20+
A clear and concise description of what you expected to happen.
21+
22+
**Screenshots**
23+
If applicable, add screenshots to help explain your problem.
24+
25+
**Environment**
26+
- Device: [ e.g. iPhone 13, MacBook Pro, etc ]
27+
- OS: [ e.g. iOS 15, macOS 11, etc ]
28+
- Browser: [ e.g. Safari, Chrome, etc ]
29+
30+
**Additional context**
31+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature Request
3+
about: Make a feature request if you have a suggestion for something new.
4+
title: ""
5+
labels: enhancement, triage
6+
assignees: ""
7+
---
8+
9+
**Is your feature request related to a problem you're having? Please describe.**
10+
A clear and concise description of what the problem is.
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**Additional context**
19+
Add any other context or screenshots about the feature request here.

.github/workflows/builds.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
name: Build GSI for Valid Architectures
22

33
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
workflow_dispatch:
49
schedule:
510
- cron: '0 8 * * *' # Cron uses UTC; run at nightly at midnight PST
611

@@ -10,10 +15,12 @@ jobs:
1015
strategy:
1116
fail-fast: false
1217
matrix:
13-
os: [macos-11, macos-12]
18+
os: [macos-15]
1419

1520
steps:
16-
- uses: actions/checkout@v2
21+
- uses: actions/checkout@v3
22+
- name: Select Xcode
23+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
1724
- name: Archive for iOS
1825
run: |
1926
xcodebuild \
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
name: integration_tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
workflow_dispatch:
9+
10+
jobs:
11+
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+
49+
swift-button-functional-test:
50+
runs-on: macos-15
51+
needs: check-pr-body-for-key
52+
# Don't run if triggered by a PR from a fork since our Secrets won't be provided to the runner.
53+
if: ${{ needs.check-pr-body-for-key.outputs.RUN_INTEGRATION == 'yes' && !github.event.pull_request.head.repo.fork }}
54+
defaults:
55+
run:
56+
working-directory: Samples/Swift/DaysUntilBirthday
57+
steps:
58+
- name: Checkout
59+
uses: actions/checkout@v3
60+
- name: Select Xcode
61+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
62+
- name: Build test target for Google Sign-in button for Swift
63+
run: |
64+
xcodebuild \
65+
-project DaysUntilBirthday.xcodeproj \
66+
build-for-testing \
67+
-scheme DaysUntilBirthday\ \(iOS\) \
68+
-sdk iphonesimulator \
69+
- name: Run test target for Google Sign-in button for Swift
70+
env:
71+
EMAIL_SECRET : ${{ secrets.EMAIL_SECRET }}
72+
PASSWORD_SECRET : ${{ secrets.PASSWORD_SECRET }}
73+
run: |
74+
xcodebuild \
75+
-project DaysUntilBirthday.xcodeproj \
76+
test-without-building \
77+
-scheme DaysUntilBirthday\ \(iOS\) \
78+
-sdk iphonesimulator \
79+
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.6' \
80+
EMAIL_SECRET=$EMAIL_SECRET \
81+
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: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,19 @@ jobs:
1010
steps:
1111
- name: Pull Request Details
1212
run: |
13-
echo "Pull Request: ${{ github.event.pull_request.title }}"
14-
echo "Author: ${{ github.event.pull_request.user.login }}"
13+
echo "Pull Request: ${{ github.event.pull_request.number }}"
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
19+
shell: bash
20+
env:
21+
TITLE: ${{ github.event.pull_request.title }}
22+
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 }}
1726
run: |
1827
curl --location --request POST '${{ secrets.WEBHOOK_URL }}' \
1928
--header 'Content-Type: application/json' \
@@ -30,19 +39,19 @@ jobs:
3039
{
3140
"keyValue": {
3241
"topLabel": "Repo",
33-
"content": "${{ github.event.pull_request.head.repo.full_name }}"
42+
"content": "${GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FULL_NAME}"
3443
}
3544
},
3645
{
3746
"keyValue": {
3847
"topLabel": "Title",
39-
"content": "${{ github.event.pull_request.title }}"
48+
"content": "'"$TITLE"'"
4049
}
4150
},
4251
{
4352
"keyValue": {
4453
"topLabel": "Creator",
45-
"content": "${{ github.event.pull_request.user.login }}"
54+
"content": "${GITHUB_EVENT_PULL_REQUEST_USER_LOGIN}"
4655
}
4756
},
4857
{
@@ -66,7 +75,7 @@ jobs:
6675
{
6776
"keyValue": {
6877
"topLabel": "Labels",
69-
"content": "- ${{ join(github.event.pull_request.labels.*.name, ', ') }}"
78+
"content": "- '"$LABELS"'"
7079
}
7180
},
7281
{
@@ -76,7 +85,7 @@ jobs:
7685
"text": "Open Pull Request",
7786
"onClick": {
7887
"openLink": {
79-
"url": "${{ github.event.pull_request.html_url }}"
88+
"url": "${GITHUB_EVENT_PULL_REQUEST_HTML_URL}"
8089
}
8190
}
8291
}

.github/workflows/push_notification.yml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,17 @@ on:
88
jobs:
99
notify-push-main:
1010
runs-on: ubuntu-latest
11+
env:
12+
COMMIT: ${{ github.event.head_commit.message }}
1113
steps:
1214
- name: Main Branch Push
1315
run: |
1416
echo "Workflow initiated by event with name: ${{ github.event_name }}"
15-
echo "Pushing commit to main: ${{ github.event.head_commit.id }}"
16-
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 }}
1722

1823
- name: Push Notification to Google Chat
1924
run: |
@@ -24,21 +29,21 @@ jobs:
2429
{
2530
"header": {
2631
"title": "Push to main branch",
27-
"subtitle": "${{ github.event.head_commit.message }}"
32+
"subtitle": "'"$COMMIT"'"
2833
},
2934
"sections": [
3035
{
3136
"widgets": [
3237
{
3338
"keyValue": {
3439
"topLabel": "Repo",
35-
"content": "${{ github.event.repository.full_name }}"
40+
"content": "${GITHUB_EVENT_REPOSITORY_FULL_NAME}"
3641
}
3742
},
3843
{
3944
"keyValue": {
4045
"topLabel": "Committed by",
41-
"content": "${{ github.event.head_commit.author.username }}"
46+
"content": "${GITHUB_EVENT_HEAD_COMMIT_AUTHOR_USERNAME}"
4247
}
4348
},
4449
{
@@ -48,7 +53,7 @@ jobs:
4853
"text": "Ref comparison",
4954
"onClick": {
5055
"openLink": {
51-
"url": "${{ github.event.compare }}"
56+
"url": "${GITHUB_EVENT_COMPARE}"
5257
}
5358
}
5459
}
@@ -61,4 +66,8 @@ jobs:
6166
}
6267
]
6368
}'
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 }}
6473

.github/workflows/scorecards.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Scorecards supply-chain security
2+
on:
3+
# Only the default branch is supported.
4+
branch_protection_rule:
5+
schedule:
6+
- cron: '36 4 * * 3'
7+
push:
8+
branches: [ "main" ]
9+
10+
# Declare default permissions as read only.
11+
permissions: read-all
12+
13+
jobs:
14+
analysis:
15+
name: Scorecards analysis
16+
runs-on: ubuntu-latest
17+
permissions:
18+
# Needed to upload the results to code-scanning dashboard.
19+
security-events: write
20+
# Used to receive a badge. (Upcoming feature)
21+
id-token: write
22+
# Needs for private repositories.
23+
contents: read
24+
actions: read
25+
26+
steps:
27+
- name: "Checkout code"
28+
uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0
29+
with:
30+
persist-credentials: false
31+
32+
- name: "Run analysis"
33+
uses: ossf/scorecard-action@3e15ea8318eee9b333819ec77a36aca8d39df13e # tag=v1.1.1
34+
with:
35+
results_file: results.sarif
36+
results_format: sarif
37+
# (Optional) Read-only PAT token. Uncomment the `repo_token` line below if:
38+
# - you want to enable the Branch-Protection check on a *public* repository, or
39+
# - you are installing Scorecards on a *private* repository
40+
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
41+
# repo_token: ${{ secrets.SCORECARD_READ_TOKEN }}
42+
43+
# Publish the results for public repositories to enable scorecard badges. For more details, see
44+
# https://github.com/ossf/scorecard-action#publishing-results.
45+
# For private repositories, `publish_results` will automatically be set to `false`, regardless
46+
# of the value entered here.
47+
publish_results: true
48+
49+
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
50+
# format to the repository Actions tab.
51+
- name: "Upload artifact"
52+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # tag=v4.6.2
53+
with:
54+
name: SARIF file
55+
path: results.sarif
56+
retention-days: 5
57+
58+
# Upload the results to GitHub's code scanning dashboard.
59+
- name: "Upload to code-scanning"
60+
uses: github/codeql-action/upload-sarif@5f532563584d71fdef14ee64d17bafb34f751ce5 # tag=v1.0.26
61+
with:
62+
sarif_file: results.sarif

0 commit comments

Comments
 (0)