mirror of
https://github.com/flutter/packages.git
synced 2025-08-06 17:28:42 +08:00

Adds `fetch-deps` support for: - iOS/macOS dependencies, using `pod install` - Dart package dependencies, using `pub get` To make avoid doing extra work in the Dart dependencies step when using this with `*_platform_tests` CI, also adds flags for all of the other platforms, and adds a flag that allows skipping Dart dependencies for any package that doesn't have an example supporting any requested platform. This means that we can pass, e.g., `--windows --supporting-target-platforms-only` to only fetch Dart packages for packages with examples that will be build during the build-and-drive Windows tests. Adds this as a new step in every platform tests CI task, and in the standard analyze step, so that we will pre-fetch Dart packages (and for iOS/macOS, pods). This won't yet fully eliminate later network access (see https://github.com/flutter/flutter/issues/131204), but will give us early warning on any major failures, such as pub being entirely unreachable from the bots. - These are marked as an infrastructure step; we'll have to see if this ends up being confusing in practice. If `pub` resolution fails for legitimate reasons, such as a PR that tries to require a version of a package that doesn't exist or that has conflicts, this will cause a failure that is marked as infra. My assumption is that the much more common case is going to be that it is actually an infra failure. Fixes https://github.com/flutter/flutter/issues/130280
15 lines
579 B
YAML
15 lines
579 B
YAML
tasks:
|
|
- name: prepare tool
|
|
script: .ci/scripts/prepare_tool.sh
|
|
infra_step: true # Note infra steps failing prevents "always" from running.
|
|
- name: download Dart deps
|
|
script: script/tool_runner.sh
|
|
args: ["fetch-deps", "--web", "--supporting-target-platforms-only"]
|
|
infra_step: true
|
|
- name: build examples
|
|
script: script/tool_runner.sh
|
|
args: ["build-examples", "--web"]
|
|
- name: drive examples
|
|
script: script/tool_runner.sh
|
|
args: ["drive-examples", "--web", "--run-chromedriver", "--exclude=script/configs/exclude_integration_web.yaml"]
|