Skip to content

Commit bfa8e5e

Browse files
committed
Merge remote-tracking branch 'origin/main' into tomandersen/or_query
# Conflicts: # release_build_files/readme.md
2 parents a43892b + 697385d commit bfa8e5e

File tree

107 files changed

+6004
-758
lines changed

Some content is hidden

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

107 files changed

+6004
-758
lines changed

.github/workflows/build-report.yml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,16 @@ env:
1313

1414
jobs:
1515
generate-report:
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
test_set: [ general, firestore ]
1620
runs-on: ubuntu-20.04
21+
name: generate-report-${{ matrix.test_set }}
1722
steps:
23+
- name: Pause 5 minutes to offset Firestore fetches.
24+
if: ${{ matrix.test_set == 'firestore' }}
25+
run: sleep 300
1826
- name: Setup python
1927
uses: actions/setup-python@v4
2028
with:
@@ -36,14 +44,24 @@ jobs:
3644
timeout_minutes: 20
3745
max_attempts: 3
3846
shell: bash
39-
command: python3 scripts/gha/report_build_status.py --token ${{ github.token }} --days ${{ env.numDays }} --write_cache build_status_short.cache
47+
command: |
48+
extra_flags=
49+
if [[ "${{ matrix.test_set }}" == "firestore" ]]; then
50+
extra_flags=--firestore
51+
fi
52+
python3 scripts/gha/report_build_status.py --token ${{ github.token }} --days ${{ env.numDays }} --write_cache build_status_short.cache ${extra_flags}
4053
- name: Fetch extended GitHub jobs (with retry)
4154
uses: nick-invision/retry@v2
4255
with:
4356
timeout_minutes: 80
4457
max_attempts: 3
4558
shell: bash
46-
command: python3 scripts/gha/report_build_status.py --token ${{ github.token }} --days ${{ env.numDaysExtended }} --write_cache build_status.cache
59+
command: |
60+
extra_flags=
61+
if [[ "${{ matrix.test_set }}" == "firestore" ]]; then
62+
extra_flags=--firestore
63+
fi
64+
python3 scripts/gha/report_build_status.py --token ${{ github.token }} --days ${{ env.numDaysExtended }} --write_cache build_status.cache ${extra_flags}
4765
- name: Generate report files
4866
run: |
4967
python3 scripts/gha/report_build_status.py --token ${{ github.token }} --days ${{ env.numDays }} --output_markdown --read_cache build_status_short.cache > report_short.md
@@ -88,4 +106,9 @@ jobs:
88106
timeout_minutes: 5
89107
max_attempts: 3
90108
shell: bash
91-
command: python3 scripts/gha/update_issue_comment.py --token ${{ github.token }} --issue_title '[C++] Nightly Integration Testing Report' --start_tag build-dashboard-comment-start --end_tag build-dashboard-comment-end < comment.md
109+
command: |
110+
issue_title='[C++] Nightly Integration Testing Report'
111+
if [[ "${{ matrix.test_set }}" == "firestore" ]]; then
112+
issue_title='[C++] Nightly Integration Testing Report for Firestore'
113+
fi
114+
python3 scripts/gha/update_issue_comment.py --token ${{ github.token }} --issue_title "${issue_title}" --start_tag build-dashboard-comment-start --end_tag build-dashboard-comment-end < comment.md

.github/workflows/cpp-packaging.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
# Run a full packaging step any time a new branch is merged into main.
66
- main
77
schedule:
8-
- cron: "0 9 * * *" # 9am UTC = 1am PST / 2am PDT
8+
- cron: "0 8 * * *" # 8am UTC = 12am PST / 1am PDT
99
workflow_dispatch:
1010
inputs:
1111
preserveIntermediateArtifacts:

.github/workflows/update-dependencies.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ jobs:
142142
cd -
143143
# Copy all *-Swift.h header files into ios_pod/swift_headers/
144144
echo "Copying headers..."
145-
find "${ziptmp}" -name '*-Swift.h' -print0 | xargs -0 -n 1 -J REPLACETEXT cp -f REPLACETEXT ios_pod/swift_headers/
145+
find "${ziptmp}" -name '*-Swift.h' -path '*ios*arm64*x86_64*simulator*' -print0 | xargs -0 -n 1 -J REPLACETEXT cp -f REPLACETEXT ios_pod/swift_headers/
146146
copyright_line="// Copyright $(date +%Y) Google LLC"
147147
# Add a note to each file about its source.
148148
for ios_header in ios_pod/swift_headers/*.h; do
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
name: Update Feature Branches
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
branch_patterns:
6+
description: 'Space-separated list of feature branch patterns'
7+
default: 'feature_branch/*'
8+
required: true
9+
main_branch:
10+
description: 'Main branch to merge'
11+
default: 'main'
12+
required: true
13+
schedule:
14+
- cron: "0 16 * * 1" # Mondays, 4pm UTC = 9am PST / 10am PDT
15+
16+
env:
17+
defaultBranchPattern: "feature_branch/*"
18+
defaultMainBranch: "main"
19+
triggerTestsLabel: "tests-requested: quick"
20+
branchPrefix: "workflow/auto-merge-feature-branch-"
21+
22+
23+
jobs:
24+
list_feature_branches:
25+
name: list-feature-branches
26+
runs-on: ubuntu-20.04
27+
outputs:
28+
branch_list: ${{ steps.get-branches.outputs.branch_list }}
29+
steps:
30+
- name: Check out repo (if needed)
31+
if: ${{ github.event.inputs.branch_list == '' }}
32+
uses: actions/checkout@v3
33+
34+
- name: Get list of feature branches
35+
id: get-branches
36+
run: |
37+
branch_pattern='origin/${{ env.defaultBranchPattern }}'
38+
if [[ -n '${{ github.event.inputs.branch_patterns }}' ]]; then
39+
branch_pattern=origin/$(echo '${{ github.event.inputs.branch_patterns }}' | sed 's| | origin/|g')
40+
fi
41+
git remote update
42+
echo "Branch pattern: ${branch_pattern}"
43+
branch_list=$(git branch --list --all "${branch_pattern}")
44+
if [[ -n ${branch_list} ]]; then
45+
# If there's at least one entry, process the list.
46+
echo "Remote branch list: ${branch_list}"
47+
# Remove remotes/origin/ from each branch.
48+
branch_list=$(echo ${branch_list} | sed 's| remotes/origin/| |g' | sed 's|^remotes/origin/||')
49+
# Change spaces to commas.
50+
branch_list=$(echo ${branch_list} | sed 's/ /,/g')
51+
# Add quotes around each branch name.
52+
branch_list='"'$(echo ${branch_list} | sed 's/,/","/g')'"'
53+
fi
54+
echo "::warning ::Branch list: [${branch_list}]"
55+
echo "branch_list=[${branch_list}]" >> $GITHUB_OUTPUT
56+
57+
create_merge_prs:
58+
name: create-merge-pr-${{ matrix.branch_name }}
59+
needs: [ list_feature_branches ]
60+
runs-on: ubuntu-20.04
61+
if: ${{ needs.list_feature_branches.outputs.branch_list != '[]' }}
62+
strategy:
63+
fail-fast: false
64+
matrix:
65+
branch_name: ${{ fromJson(needs.list_feature_branches.outputs.branch_list) }}
66+
steps:
67+
- name: Get token for firebase-workflow-trigger
68+
uses: tibdex/github-app-token@v1
69+
id: generate-token
70+
with:
71+
app_id: ${{ secrets.WORKFLOW_TRIGGER_APP_ID }}
72+
private_key: ${{ secrets.WORKFLOW_TRIGGER_APP_PRIVATE_KEY }}
73+
74+
- name: Setup python
75+
uses: actions/setup-python@v4
76+
with:
77+
python-version: 3.7
78+
79+
- uses: actions/checkout@v3
80+
with:
81+
ref: ${{ matrix.branch_name }}
82+
fetch-depth: 0
83+
submodules: false
84+
85+
- name: Install prerequisites
86+
run: |
87+
python scripts/gha/install_prereqs_desktop.py
88+
python -m pip install requests
89+
90+
- name: Name new branch
91+
run: |
92+
date_str=$(date "+%Y%m%d-%H%M%S")
93+
echo "NEW_BRANCH=${{env.branchPrefix}}${{github.run_number}}-${date_str}" >> $GITHUB_ENV
94+
95+
- name: Create merge PR
96+
id: create-pr
97+
run: |
98+
git config user.email "firebase-workflow-trigger-bot@google.com"
99+
git config user.name "firebase-workflow-trigger-bot"
100+
git config core.commentChar "%" # so we can use # in git commit messages
101+
102+
main_branch='${{ env.defaultMainBranch }}'
103+
if [[ -n '${{ github.event.inputs.main_branch }}' ]]; then
104+
main_branch='${{ github.event.inputs.main_branch }}'
105+
fi
106+
# Attempt a merge, then check if any files changed.
107+
git merge --no-commit --no-ff "origin/${main_branch}" || true
108+
if git diff --quiet ${{ matrix.branch_name }}; then
109+
# No merge necessary.
110+
echo "::warning ::No merge needed for ${{ matrix.branch_name }}, won't create pull request."
111+
echo "created_pr_number=0" >> $GITHUB_OUTPUT
112+
exit 0
113+
fi
114+
115+
# Undo the actual merge. Let the PR creation handle it.
116+
git merge --abort
117+
118+
date_str=$(date "+%b %d, %Y")
119+
120+
pr_title="Automatic merge of ${main_branch} into ${{ matrix.branch_name }} - ${date_str}"
121+
pr_body="Automatic merge of ${main_branch} into ${{ matrix.branch_name }}.
122+
123+
> Created on ${date_str} by [${{github.workflow}} workflow]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID).
124+
"
125+
git checkout main
126+
git checkout -b "${NEW_BRANCH}"
127+
git push --set-upstream origin "${NEW_BRANCH}"
128+
pr_number=$(python scripts/gha/create_pull_request.py --token ${{ steps.generate-token.outputs.token }} --base "${{ matrix.branch_name }}" --head "${NEW_BRANCH}" --title "${pr_title}" --body "${pr_body}")
129+
echo "created_pr_number=${pr_number}" >> $GITHUB_OUTPUT
130+
131+
- name: Set test trigger label.
132+
uses: actions-ecosystem/action-add-labels@v1
133+
if: ${{ steps.create-pr.outputs.created_pr_number }}
134+
with:
135+
github_token: ${{ steps.generate-token.outputs.token }}
136+
number: ${{ steps.create-pr.outputs.created_pr_number }}
137+
labels: "${{ env.triggerTestsLabel }}"

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ gcs_key_file.json
2828
*_build/
2929
cmake-build-*/
3030
testing/test_framework/external/
31+
CMakeFiles/
32+
CMakeCache.txt
3133

3234
# XCode user specific folders
3335
**/xcuserdata/

Android/firebase_dependencies.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def firebaseDependenciesMap = [
2727
'dynamic_links' : ['com.google.firebase:firebase-dynamic-links'],
2828
'firestore' : ['com.google.firebase:firebase-firestore'],
2929
'functions' : ['com.google.firebase:firebase-functions'],
30-
'gma' : ['com.google.android.gms:play-services-ads:22.2.0'],
30+
'gma' : ['com.google.android.gms:play-services-ads:22.3.0'],
3131
'installations' : ['com.google.firebase:firebase-installations'],
3232
'invites' : ['com.google.firebase:firebase-invites'],
3333
// Messaging has an additional local dependency to include.
@@ -158,7 +158,7 @@ project.afterEvaluate {
158158

159159
// Add the bill-of-materials
160160
project.dependencies {
161-
implementation platform('com.google.firebase:firebase-bom:32.2.0')
161+
implementation platform('com.google.firebase:firebase-bom:32.2.3')
162162
}
163163
for (String lib : firebaseCpp.dependencies.libSet) {
164164
// Generate and include the proguard file

analytics/integration_test/Podfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ use_frameworks! :linkage => :static
55

66
target 'integration_test' do
77
platform :ios, '11.0'
8-
pod 'Firebase/Analytics', '10.12.0'
8+
pod 'Firebase/Analytics', '10.15.0'
99
end
1010

1111
target 'integration_test_tvos' do
1212
platform :tvos, '12.0'
13-
pod 'Firebase/Analytics', '10.12.0'
13+
pod 'Firebase/Analytics', '10.15.0'
1414
end
1515

1616
post_install do |installer|

analytics/integration_test/src/integration_test.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,8 @@ TEST_F(FirebaseAnalyticsTest, TestSetProperties) {
190190
// Initiate on-device conversion measurement.
191191
firebase::analytics::InitiateOnDeviceConversionMeasurementWithEmailAddress(
192192
"my_email@site.com");
193+
firebase::analytics::InitiateOnDeviceConversionMeasurementWithPhoneNumber(
194+
"+15551234567");
193195
}
194196

195197
TEST_F(FirebaseAnalyticsTest, TestLogEvents) {

analytics/ios_headers/FIREventNames.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2023 Google LLC
22

3-
// Copied from Firebase Analytics iOS SDK 10.12.0.
3+
// Copied from Firebase Analytics iOS SDK 10.15.0.
44

55
/// @file FIREventNames.h
66
///

analytics/ios_headers/FIRParameterNames.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2023 Google LLC
22

3-
// Copied from Firebase Analytics iOS SDK 10.12.0.
3+
// Copied from Firebase Analytics iOS SDK 10.15.0.
44

55
/// @file FIRParameterNames.h
66
///

0 commit comments

Comments
 (0)