Skip to content

Commit 1877fa6

Browse files
committed
Merge remote-tracking branch 'origin/master' into crashlytics-firelog
2 parents d18c81f + 3a0e868 commit 1877fa6

File tree

123 files changed

+2526
-871
lines changed

Some content is hidden

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

123 files changed

+2526
-871
lines changed

.github/workflows/check.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
name: check
22

3-
on: [pull_request]
3+
on:
4+
pull_request:
5+
paths-ignore:
6+
- 'Firestore/**'
47

58
jobs:
69
check:
7-
runs-on: macOS-latest
10+
runs-on: macos-latest
811
steps:
9-
- uses: actions/checkout@v1
12+
- uses: actions/checkout@v2
13+
14+
- name: Setup check
15+
run: scripts/setup_check.sh
16+
1017
- name: Check
11-
run: |
12-
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e3496d9/Formula/clang-format.rb
13-
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/7963c3d/Formula/swiftformat.rb
14-
pip install flake8
15-
./scripts/check.sh --test-only
18+
run: scripts/check.sh --test-only

.github/workflows/core.yml

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,34 @@ on:
1010
- cron: '0 7 * * *'
1111

1212
jobs:
13-
core:
13+
pod_lib_lint:
1414
runs-on: macOS-latest
15+
16+
strategy:
17+
matrix:
18+
target: [ios, tvos, macos]
19+
steps:
20+
- uses: actions/checkout@v2
21+
- name: Setup Bundler
22+
run: scripts/setup_bundler.sh
23+
- name: Build and test
24+
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }}
25+
26+
core-cron-only:
27+
runs-on: macos-latest
28+
if: github.event_name == 'schedule'
29+
strategy:
30+
matrix:
31+
target: [ios, tvos, macos]
32+
flags: [
33+
'--use-modular-headers',
34+
# Tests are skipped since the Swift tests need modules.
35+
'--skip-tests --use-libraries'
36+
]
37+
needs: pod_lib_lint
1538
steps:
16-
- uses: actions/checkout@v1
39+
- uses: actions/checkout@v2
1740
- name: Setup Bundler
18-
run: ./scripts/setup_bundler.sh
19-
- name: FirebaseCore iOS
20-
run: ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=ios
21-
- name: FirebaseCore macOS
22-
run: ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=macos
23-
- name: FirebaseCore tvOS
24-
run: ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=tvos
41+
run: scripts/setup_bundler.sh
42+
- name: PodLibLint Core Cron
43+
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: datatransport
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'GoogleDataTransport**'
7+
- 'GoogleDataTransportCCTSupport**'
8+
- '.github/workflows/datatransport.yml'
9+
schedule:
10+
# Run every day at 11pm (PST) - cron uses UTC times
11+
- cron: '0 7 * * *'
12+
13+
jobs:
14+
pod_lib_lint:
15+
runs-on: macos-latest
16+
strategy:
17+
matrix:
18+
target: [ios, tvos, macos]
19+
steps:
20+
- uses: actions/checkout@v2
21+
- name: Setup Bundler
22+
run: ./scripts/setup_bundler.sh
23+
- name: PodLibLint DataTransport
24+
run: |
25+
./scripts/third_party/travis/retry.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=${{ matrix.target }}
26+
./scripts/third_party/travis/retry.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=${{ matrix.target }}
27+
28+
# Scheduled jobs
29+
30+
datatransport-cron-only:
31+
runs-on: macos-latest
32+
if: github.event_name == 'schedule'
33+
strategy:
34+
matrix:
35+
target: [ios, tvos, macos]
36+
flags: [
37+
'--use-modular-headers',
38+
'--use-libraries'
39+
]
40+
needs: pod_lib_lint
41+
steps:
42+
- uses: actions/checkout@v2
43+
- name: Setup Bundler
44+
run: ./scripts/setup_bundler.sh
45+
- name: PodLibLint DataTransport Cron
46+
run: |
47+
./scripts/third_party/travis/retry.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
48+
./scripts/third_party/travis/retry.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}

.github/workflows/dynamiclinks.yml

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,29 @@ on:
1010
- cron: '0 7 * * *'
1111

1212
jobs:
13-
dynamiclinks:
13+
pod_lib_lint:
1414
runs-on: macOS-latest
1515
steps:
1616
- uses: actions/checkout@v1
1717
- name: Setup Bundler
18-
run: ./scripts/setup_bundler.sh
18+
run: scripts/setup_bundler.sh
1919
- name: FirebaseDynamicLinks
20-
run: ./scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec
20+
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec
21+
22+
dynamiclinks-cron-only:
23+
runs-on: macos-latest
24+
if: github.event_name == 'schedule'
25+
strategy:
26+
matrix:
27+
target: [ios, tvos, macos]
28+
flags: [
29+
'--use-modular-headers',
30+
'--use-libraries'
31+
]
32+
needs: pod_lib_lint
33+
steps:
34+
- uses: actions/checkout@v2
35+
- name: Setup Bundler
36+
run: scripts/setup_bundler.sh
37+
- name: PodLibLint Storage Cron
38+
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}

.github/workflows/firestore.yml

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# Copyright 2020 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: firestore
16+
17+
on:
18+
pull_request:
19+
paths:
20+
# Firestore sources
21+
- 'Firestore/**'
22+
23+
# Podspec
24+
- 'FirebaseFirestore.podspec'
25+
26+
# CMake
27+
- 'CMakeLists.txt'
28+
- 'cmake/**'
29+
30+
# Build scripts
31+
# Note that this doesn't include check scripts because changing those will
32+
# already trigger the check workflow.
33+
- 'scripts/binary_to_array.py'
34+
- 'scripts/build.sh'
35+
- 'scripts/install_prereqs.sh'
36+
- 'scripts/localize_podfile.swift'
37+
- 'scripts/pod_lib_lint.rb'
38+
- 'scripts/run_firestore_emulator.sh'
39+
- 'scripts/setup_*'
40+
- 'scripts/sync_project.rb'
41+
- 'scripts/test_quickstart.sh'
42+
43+
# This workflow
44+
- '.github/workflows/firestore.yml'
45+
46+
schedule:
47+
# Run every day at 11pm (PST) - cron uses UTC times
48+
- cron: '0 7 * * *'
49+
50+
jobs:
51+
check:
52+
runs-on: macos-latest
53+
steps:
54+
- uses: actions/checkout@v2
55+
56+
- name: Setup check
57+
run: scripts/setup_check.sh
58+
59+
- name: Run check
60+
run: scripts/check.sh --test-only
61+
62+
63+
cmake:
64+
needs: check
65+
66+
strategy:
67+
matrix:
68+
os: [macos-latest, ubuntu-latest]
69+
70+
runs-on: ${{ matrix.os }}
71+
steps:
72+
- uses: actions/checkout@v2
73+
74+
- name: Prepare ccache
75+
uses: actions/cache@v1
76+
with:
77+
path: ~/.ccache
78+
key: firestore-ccache-${{ runner.os }}-${{ github.sha }}
79+
restore-keys: |
80+
firestore-ccache-${{ runner.os }}-
81+
82+
- name: Setup build
83+
run: scripts/install_prereqs.sh Firestore ${{ runner.os }} cmake
84+
85+
- name: Build and test
86+
run: scripts/third_party/travis/retry.sh scripts/build.sh Firestore ${{ runner.os }} cmake
87+
88+
89+
sanitizers:
90+
runs-on: macos-latest
91+
needs: check
92+
93+
strategy:
94+
matrix:
95+
sanitizer: [asan, tsan]
96+
97+
env:
98+
SANITIZERS: ${{ matrix.sanitizer }}
99+
100+
steps:
101+
- uses: actions/checkout@v2
102+
103+
- name: Prepare ccache
104+
uses: actions/cache@v1
105+
with:
106+
path: ~/.ccache
107+
key: firestore-ccache-${{ runner.os }}-${{ matrix.sanitizer }}-${{ github.sha }}
108+
restore-keys: |
109+
firestore-ccache-${{ runner.os }}-${{ matrix.sanitizer }}-
110+
111+
- name: Setup build
112+
run: scripts/install_prereqs.sh Firestore ${{ runner.os }} cmake
113+
114+
- name: Build and test
115+
run: scripts/third_party/travis/retry.sh scripts/build.sh Firestore ${{ runner.os }} cmake
116+
117+
118+
xcodebuild:
119+
runs-on: macos-latest
120+
needs: check
121+
122+
strategy:
123+
matrix:
124+
target: [iOS, tvOS, macOS]
125+
126+
steps:
127+
- uses: actions/checkout@v2
128+
129+
- name: Setup build
130+
run: scripts/install_prereqs.sh Firestore ${{ matrix.target }} xcodebuild
131+
132+
- name: Build and test
133+
run: scripts/third_party/travis/retry.sh scripts/build.sh Firestore ${{ matrix.target }} xcodebuild
134+
135+
136+
pod-lib-lint:
137+
runs-on: macos-latest
138+
needs: check
139+
140+
steps:
141+
- uses: actions/checkout@v2
142+
143+
- name: Setup Bundler
144+
run: ./scripts/setup_bundler.sh
145+
146+
- name: Pod lib lint
147+
run: |
148+
scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseFirestore.podspec \
149+
--platforms=ios \
150+
--allow-warnings

.github/workflows/storage.yml

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,42 @@ jobs:
1515
steps:
1616
- uses: actions/checkout@v1
1717
- name: Setup Bundler
18-
run: ./scripts/setup_bundler.sh
18+
run: scripts/setup_bundler.sh
1919
- name: Install Secret GoogleService-Info.plist
2020
env:
2121
plist_secret: ${{ secrets.StoragePlistSecret }}
2222
run: ./scripts/decrypt_gha_secret.sh scripts/gha-encrypted/storage-db-plist.gpg \
2323
FirebaseStorage/Tests/Integration/Resources/GoogleService-Info.plist "$plist_secret"
2424
- name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
25-
run: scripts/third_party/travis/retry.sh ./scripts/build.sh Storage all
26-
- name: PodLibLint iOS
27-
run: ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=ios
28-
- name: PodLibLint macOS
29-
run: ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=macos
30-
- name: PodLibLint tvOS
31-
run: ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=tvos
25+
run: scripts/third_party/travis/retry.sh scripts/build.sh Storage all
26+
27+
pod_lib_lint:
28+
runs-on: macOS-latest
29+
30+
strategy:
31+
matrix:
32+
target: [ios, tvos, macos]
33+
steps:
34+
- uses: actions/checkout@v2
35+
- name: Setup Bundler
36+
run: scripts/setup_bundler.sh
37+
- name: Build and test
38+
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=${{ matrix.target }}
39+
40+
storage-cron-only:
41+
runs-on: macos-latest
42+
if: github.event_name == 'schedule'
43+
strategy:
44+
matrix:
45+
target: [ios, tvos, macos]
46+
flags: [
47+
'--skip-tests --use-modular-headers',
48+
'--skip-tests --use-libraries'
49+
]
50+
needs: pod_lib_lint
51+
steps:
52+
- uses: actions/checkout@v2
53+
- name: Setup Bundler
54+
run: scripts/setup_bundler.sh
55+
- name: PodLibLint Storage Cron
56+
run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}

.github/workflows/zip.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
paths:
66
- 'ZipBuilder/**'
77
- '.github/workflows/zip.yml'
8+
# Don't run based on any markdown only changes.
9+
- '!ZipBuilder/*.md'
810
schedule:
911
# Run every day at midnight(PST) - cron uses UTC times
1012
- cron: '0 8 * * *'

0 commit comments

Comments
 (0)