Skip to content

Commit 2f9936e

Browse files
committed
* 'master' of https://github.com/flutter/plugins: (600 commits) [google_sign_in, in_app_purchase_android] Add availability to mock models (flutter#5642) Roll Flutter from de7c23e to ec20ea8 (1 revision) (flutter#5805) Roll Flutter from b8b0c80 to de7c23e (1 revision) (flutter#5804) Roll Flutter from 4654fd0 to b8b0c80 (1 revision) (flutter#5803) Roll Flutter from 6aaabf6 to 4654fd0 (2 revisions) (flutter#5802) Roll Flutter from 1e10cec to 6aaabf6 (1 revision) (flutter#5800) Roll Flutter from 1e1f4bc to 1e10cec (6 revisions) (flutter#5799) Roll Flutter from a4a8e73 to 1e1f4bc (65 revisions) (flutter#5795) [google_sign_in] Suppress `deprecation` warnings (flutter#5049) [video_player] Fix order-dependent tests (flutter#5672) [path_provider] Fix integration tests on macOS (flutter#5773) [google_maps_flutter_web] Remove custom analysis file. (flutter#5791) [various] Set minimum Flutter versions to 2.8 (flutter#5792) [ci] Updates iOS deprecation check to iOS 13 (flutter#5786) Roll Flutter from 1994027 to a4a8e73 (31 revisions) (flutter#5782) [google_sign_in] Upgrade to GoogleSignIn 6.2, support arm64 simulators (flutter#5708) [local_auth] Adds federated Windows support (flutter#5776) [tools] Add `update-release-info` (flutter#5643) Add more CODEOWNERS (flutter#5779) [ci/tools] Add iOS/macOS analysis to catch deprecated code (flutter#5778) ...
2 parents 2061e1f + ef9effe commit 2f9936e

File tree

2,663 files changed

+112361
-51430
lines changed

Some content is hidden

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

2,663 files changed

+112361
-51430
lines changed

.ci.yaml

+6-27
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,10 @@
77
# * https://github.com/flutter/cocoon/blob/main/CI_YAML.md
88
enabled_branches:
99
- main
10-
- master
1110

1211
platform_properties:
1312
linux:
1413
properties:
15-
caches: >-
16-
[
17-
]
1814
dependencies: >
1915
[
2016
{"dependency": "curl"}
@@ -23,11 +19,6 @@ platform_properties:
2319
os: Linux
2420
windows:
2521
properties:
26-
caches: >-
27-
[
28-
{"name": "vsbuild", "path": "vsbuild"},
29-
{"name": "pub_cache", "path": ".pub-cache"}
30-
]
3122
dependencies: >
3223
[
3324
{"dependency": "certs"}
@@ -42,11 +33,12 @@ targets:
4233
properties:
4334
add_recipes_cq: "true"
4435
target_file: windows_build_and_platform_tests.yaml
36+
channel: master
37+
version_file: flutter_master.version
4538
dependencies: >
4639
[
4740
{"dependency": "vs_build"}
4841
]
49-
scheduler: luci
5042
5143
- name: Windows win32-platform_tests stable
5244
recipe: plugins/plugins
@@ -59,19 +51,19 @@ targets:
5951
[
6052
{"dependency": "vs_build"}
6153
]
62-
scheduler: luci
6354
6455
- name: Windows windows-build_all_plugins master
6556
recipe: plugins/plugins
6657
timeout: 30
6758
properties:
6859
add_recipes_cq: "true"
6960
target_file: build_all_plugins.yaml
61+
channel: master
62+
version_file: flutter_master.version
7063
dependencies: >
7164
[
7265
{"dependency": "vs_build"}
7366
]
74-
scheduler: luci
7567
7668
- name: Windows windows-build_all_plugins stable
7769
recipe: plugins/plugins
@@ -84,31 +76,18 @@ targets:
8476
[
8577
{"dependency": "vs_build"}
8678
]
87-
scheduler: luci
88-
89-
- name: Windows uwp-platform_tests master
90-
recipe: plugins/plugins
91-
timeout: 30
92-
properties:
93-
add_recipes_cq: "true"
94-
target_file: uwp_build_and_platform_tests.yaml
95-
dependencies: >
96-
[
97-
{"dependency": "vs_build"}
98-
]
99-
scheduler: luci
10079
10180
- name: Windows plugin_tools_tests
10281
recipe: plugins/plugins
10382
timeout: 30
10483
properties:
10584
add_recipes_cq: "true"
10685
target_file: plugin_tools_tests.yaml
107-
scheduler: luci
86+
channel: master
87+
version_file: flutter_master.version
10888

10989
- name: Linux ci_yaml plugins roller
11090
recipe: infra/ci_yaml
11191
timeout: 30
112-
scheduler: luci
11392
runIf:
11493
- .ci.yaml

.ci/Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# The Flutter version is not important here, since the CI scripts update Flutter
22
# before running. What matters is that the base image is pinned to minimize
33
# unintended changes when modifying this file.
4-
FROM cirrusci/flutter:2.2.2
4+
FROM cirrusci/flutter@sha256:505fe8bce2896c75b4df9ccf500b1604155bf932af7465ffcc66fcae8612f82f
55

66
RUN apt-get update -y
77

@@ -41,6 +41,7 @@ RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo ap
4141
RUN echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
4242
RUN apt-get update && apt-get install -y --no-install-recommends google-chrome-stable
4343

44-
# Make Chrome the default so http: has a handler for url_launcher tests.
44+
# Make Chrome the default so http: and file: has a handler for url_launcher tests.
4545
RUN apt-get install -y xdg-utils
4646
RUN xdg-settings set default-web-browser google-chrome.desktop
47+
RUN xdg-mime default google-chrome.desktop inode/directory

.ci/flutter_master.version

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ec20ea80ad98007bd022648168e7b3cc38b2e665

.ci/scripts/build_examples_uwp.sh

-7
This file was deleted.

.ci/scripts/drive_examples_win32.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# found in the LICENSE file.
55

66
dart ./script/tool/bin/flutter_plugin_tools.dart drive-examples --windows \
7-
--packages-for-branch --log-timing
7+
--exclude=script/configs/exclude_integration_win32.yaml --packages-for-branch --log-timing

.ci/targets/uwp_build_and_platform_tests.yaml

-5
This file was deleted.

.cirrus.yml

+88-32
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,40 @@
1-
gcp_credentials: ENCRYPTED[!48cff44dd32e9cc412d4d381c7fe68d373ca04cf2639f8192d21cb1a9ab5e21129651423a1cf88f3fd7fe2125c1cabd9!]
1+
gcp_credentials: ENCRYPTED[!ebad0a1f4f7a446b77944c33651460a7ab010b4617273cb016cf354eb8fc22aa92e37a3c58bfa4a0c40a799351e027a6!]
22

33
# Don't run on release tags since it creates O(n^2) tasks where n is the
4-
# number of plugins
5-
only_if: $CIRRUS_TAG == ''
4+
# number of plugins.
5+
# Don't run on 'master' since it's a mirror of 'main'.
6+
only_if: $CIRRUS_TAG == '' && $CIRRUS_BRANCH != 'master'
67
env:
78
CHANNEL: "master" # Default to master when not explicitly set by a task.
89
PLUGIN_TOOL: "./script/tool/bin/flutter_plugin_tools.dart"
910

1011
tool_setup_template: &TOOL_SETUP_TEMPLATE
1112
tool_setup_script:
12-
- git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
13+
- git fetch origin main # To set FETCH_HEAD for "git merge-base" to work
1314
- cd script/tool
1415
- dart pub get
1516

1617
flutter_upgrade_template: &FLUTTER_UPGRADE_TEMPLATE
1718
upgrade_flutter_script:
19+
# Master uses a pinned, auto-rolled version to prevent out-of-band CI
20+
# failures due to changes in Flutter.
21+
# TODO(stuartmorgan): Investigate an autoroller for stable as well.
22+
- TARGET_TREEISH=$CHANNEL
23+
- if [[ "$CHANNEL" == "master" ]]; then
24+
- TARGET_TREEISH=$(< .ci/flutter_$CHANNEL.version)
25+
- fi
1826
# Ensure that the repository has all the branches.
1927
- cd $FLUTTER_HOME
2028
- git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
2129
- git fetch origin
22-
# Switch to the requested branch.
23-
- git checkout $CHANNEL
24-
# Reset to upstream branch, rather than using pull, since the base image
25-
# can sometimes be in a state where it has diverged from upstream (!).
26-
- git reset --hard @{u}
30+
# Switch to the requested channel.
31+
- git checkout $TARGET_TREEISH
32+
# When using a branch rather than a hash or version tag, reset to the
33+
# upstream branch rather than using pull, since the base image can sometimes
34+
# be in a state where it has diverged from upstream (!).
35+
- if [[ "$TARGET_TREEISH" == "$CHANNEL" ]] && [[ "$CHANNEL" != *"."* ]]; then
36+
- git reset --hard @{u}
37+
- fi
2738
# Run doctor to allow auditing of what version of Flutter the run is using.
2839
- flutter doctor -v
2940
<< : *TOOL_SETUP_TEMPLATE
@@ -75,22 +86,29 @@ task:
7586
CHANGE_DESC: "$TMPDIR/change-description.txt"
7687
version_check_script:
7788
# For pre-submit, pass the PR description to the script to allow for
78-
# platform version breaking version change justifications.
79-
# For post-submit, ignore platform version breaking version changes.
80-
# The PR description isn't reliably part of the commit message, so using
81-
# the same flags as for presubmit would likely result in false-positive
82-
# post-submit failures.
89+
# version check overrides.
90+
# For post-submit, ignore platform version breaking version changes and
91+
# missing version/CHANGELOG detection; the PR description isn't reliably
92+
# part of the commit message, so using the same flags as for presubmit
93+
# would likely result in false-positive post-submit failures.
8394
- if [[ $CIRRUS_PR == "" ]]; then
8495
- ./script/tool_runner.sh version-check --ignore-platform-interface-breaks
8596
- else
8697
- echo "$CIRRUS_CHANGE_MESSAGE" > "$CHANGE_DESC"
87-
- ./script/tool_runner.sh version-check --change-description-file="$CHANGE_DESC"
98+
- ./script/tool_runner.sh version-check --check-for-missing-changes --change-description-file="$CHANGE_DESC"
8899
- fi
89100
publish_check_script: ./script/tool_runner.sh publish-check
90101
- name: format
91102
always:
92103
format_script: ./script/tool_runner.sh format --fail-on-change
93104
pubspec_script: ./script/tool_runner.sh pubspec-check
105+
readme_script:
106+
- ./script/tool_runner.sh readme-check
107+
# Re-run with --require-excerpts, skipping packages that still need
108+
# to be converted. Once https://github.com/flutter/flutter/issues/102679
109+
# has been fixed, this can be removed and there can just be a single
110+
# run with --require-excerpts and no exclusions.
111+
- ./script/tool_runner.sh readme-check --require-excerpts --exclude=script/configs/temp_exclude_excerpt.yaml
94112
license_script: dart $PLUGIN_TOOL license-check
95113
- name: federated_safety
96114
# This check is only meaningful for PRs, as it validates changes
@@ -109,21 +127,44 @@ task:
109127
matrix:
110128
CHANNEL: "master"
111129
CHANNEL: "stable"
112-
tool_script:
130+
analyze_tool_script:
113131
- cd script/tool
114132
- dart analyze --fatal-infos
115-
script:
133+
analyze_script:
116134
# DO NOT change the custom-analysis argument here without changing the Dart repo.
117135
# See the comment in script/configs/custom_analysis.yaml for details.
118136
- ./script/tool_runner.sh analyze --custom-analysis=script/configs/custom_analysis.yaml
119-
### Android tasks ###
120-
- name: android-build_all_plugins
137+
pathified_analyze_script:
138+
# Re-run analysis with path-based dependencies to ensure that publishing
139+
# the changes won't break analysis of other packages in the respository
140+
# that depend on it.
141+
- ./script/tool_runner.sh make-deps-path-based --target-dependencies-with-non-breaking-updates
142+
# This uses --run-on-dirty-packages rather than --packages-for-branch
143+
# since only the packages changed by 'make-deps-path-based' need to be
144+
# checked.
145+
- dart $PLUGIN_TOOL analyze --run-on-dirty-packages --log-timing --custom-analysis=script/configs/custom_analysis.yaml
146+
# Restore the tree to a clean state, to avoid accidental issues if
147+
# other script steps are added to this task.
148+
- git checkout .
149+
# Does a sanity check that plugins at least pass analysis on the N-1 and N-2
150+
# versions of Flutter stable if the plugin claims to support that version.
151+
# This is to minimize accidentally making changes that break old versions
152+
# (which we don't commit to supporting, but don't want to actively break)
153+
# without updating the constraints.
154+
# Note: The versions below should be manually updated after a new stable
155+
# version comes out.
156+
- name: legacy-version-analyze
157+
depends_on: analyze
121158
env:
122-
BUILD_ALL_ARGS: "apk"
123159
matrix:
124-
CHANNEL: "master"
125-
CHANNEL: "stable"
126-
<< : *BUILD_ALL_PLUGINS_APP_TEMPLATE
160+
CHANNEL: "2.10.5"
161+
CHANNEL: "2.8.1"
162+
analyze_script:
163+
- ./script/tool_runner.sh analyze --skip-if-not-supporting-flutter-version="$CHANNEL" --custom-analysis=script/configs/custom_analysis.yaml
164+
- name: readme_excerpts
165+
env:
166+
CIRRUS_CLONE_SUBMODULES: true
167+
script: ./script/tool_runner.sh update-excerpts --fail-on-change
127168
### Web tasks ###
128169
- name: web-build_all_plugins
129170
env:
@@ -183,7 +224,7 @@ task:
183224
CHANNEL: "master"
184225
CHANNEL: "stable"
185226
MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550]
186-
GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[!c9446a7b11d5520c2ebce3c64ccc82fe6d146272cb06a4a4590e22c389f33153f951347a25422522df1a81fe2f085e9a!]
227+
GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[4c11f1a80a5741d51e92ab609bc7214ab2aa015e68a490e4d6777ebdf84f9c899b97c0ded2f4b2e6adf2c8b5ead1e3c5]
187228
build_script:
188229
# Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they
189230
# might include non-ASCII characters which makes Gradle crash.
@@ -226,6 +267,13 @@ task:
226267
path: "**/reports/lint-results-debug.xml"
227268
type: text/xml
228269
format: android-lint
270+
- name: android-build_all_plugins
271+
env:
272+
BUILD_ALL_ARGS: "apk"
273+
matrix:
274+
CHANNEL: "master"
275+
CHANNEL: "stable"
276+
<< : *BUILD_ALL_PLUGINS_APP_TEMPLATE
229277
### Web tasks ###
230278
- name: web-platform_tests
231279
env:
@@ -235,13 +283,15 @@ task:
235283
matrix:
236284
CHANNEL: "master"
237285
CHANNEL: "stable"
286+
CHROME_NO_SANDBOX: true
287+
CHROME_DIR: /tmp/web_chromium/
288+
CHROME_EXECUTABLE: $CHROME_DIR/chrome-linux/chrome
238289
install_script:
239-
- git clone https://github.com/flutter/web_installers.git
240-
- cd web_installers/packages/web_drivers/
241-
- dart pub get
290+
# Install a pinned version of Chromium and its corresponding ChromeDriver.
291+
# Setting CHROME_EXECUTABLE above causes this version to be used for tests.
292+
- ./script/install_chromium.sh "$CHROME_DIR"
242293
chromedriver_background_script:
243-
- cd web_installers/packages/web_drivers/
244-
- dart lib/web_driver_installer.dart chromedriver --install-only
294+
- cd "$CHROME_DIR"
245295
- ./chromedriver/chromedriver --port=4444
246296
build_script:
247297
- ./script/tool_runner.sh build-examples --web
@@ -284,8 +334,11 @@ task:
284334
- ./script/tool_runner.sh build-examples --ios
285335
xcode_analyze_script:
286336
- ./script/tool_runner.sh xcode-analyze --ios
337+
xcode_analyze_deprecation_script:
338+
# Ensure we don't accidentally introduce deprecated code.
339+
- ./script/tool_runner.sh xcode-analyze --ios --ios-min-version=13.0
287340
native_test_script:
288-
- ./script/tool_runner.sh native-test --ios --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=latest" --exclude=script/configs/exclude_native_ios.yaml
341+
- ./script/tool_runner.sh native-test --ios --ios-destination "platform=iOS Simulator,name=iPhone 11,OS=latest"
289342
drive_script:
290343
# `drive-examples` contains integration tests, which changes the UI of the application.
291344
# This UI change sometimes affects `xctest`.
@@ -312,7 +365,10 @@ task:
312365
- ./script/tool_runner.sh build-examples --macos
313366
xcode_analyze_script:
314367
- ./script/tool_runner.sh xcode-analyze --macos
368+
xcode_analyze_deprecation_script:
369+
# Ensure we don't accidentally introduce deprecated code.
370+
- ./script/tool_runner.sh xcode-analyze --macos --macos-min-version=12.3
315371
native_test_script:
316-
- ./script/tool_runner.sh native-test --macos --exclude=script/configs/exclude_native_macos.yaml
372+
- ./script/tool_runner.sh native-test --macos
317373
drive_script:
318-
- ./script/tool_runner.sh drive-examples --macos
374+
- ./script/tool_runner.sh drive-examples --macos --exclude=script/configs/exclude_integration_macos.yaml

.clang-format

+8
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
BasedOnStyle: Google
2+
---
3+
Language: Cpp
4+
DerivePointerAlignment: false
5+
PointerAlignment: Left
6+
---
7+
Language: ObjC
8+
DerivePointerAlignment: false
9+
PointerAlignment: Right

0 commit comments

Comments
 (0)