Refresh Flutter infra README (#75542)
This commit is contained in:
parent
08ef089173
commit
afd1d92a01
@ -2,14 +2,18 @@
|
|||||||
|
|
||||||
This directory exists to support building Flutter on our build infrastructure.
|
This directory exists to support building Flutter on our build infrastructure.
|
||||||
|
|
||||||
The results of such builds are viewable at:
|
Flutter build results are available at:
|
||||||
|
* https://flutter-dashboard.appspot.com/#/build
|
||||||
|
- Aggregate dashboard of the the separate CI systems used by Flutter.
|
||||||
* https://cirrus-ci.com/github/flutter/flutter/master
|
* https://cirrus-ci.com/github/flutter/flutter/master
|
||||||
- Testing is done on PRs and submitted changes on GitHub.
|
- Testing is done on PRs and submitted changes on GitHub.
|
||||||
* https://ci.chromium.org/p/flutter/
|
* https://ci.chromium.org/p/flutter/
|
||||||
- Additional testing and processing are done after changes are submitted.
|
- Additional testing and processing are done after changes are submitted.
|
||||||
|
|
||||||
The LUCI infra requires permissions to retrigger or schedule builds. Contact
|
Flutter infra requires special permissions to retrigger builds on the
|
||||||
@kf6gpe or another Google member of the Flutter team if you need to do that.
|
[build dashboard](https://flutter-dashboard.appspot.com/#/build). File an
|
||||||
|
[infra ticket](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue) to
|
||||||
|
request permission.
|
||||||
|
|
||||||
The [Cirrus](https://cirrus-ci.org)-based bots run the [`test.dart`](test.dart)
|
The [Cirrus](https://cirrus-ci.org)-based bots run the [`test.dart`](test.dart)
|
||||||
script for each PR and submission. This does testing for the tools, for the
|
script for each PR and submission. This does testing for the tools, for the
|
||||||
@ -23,13 +27,13 @@ We also have post-commit testing with actual devices, in what we call our
|
|||||||
|
|
||||||
## LUCI (Layered Universal Continuous Integration)
|
## LUCI (Layered Universal Continuous Integration)
|
||||||
|
|
||||||
A [set of recipes](https://chromium.googlesource.com/chromium/tools/build.git/+/master/scripts/slave/recipes/flutter)
|
A [set of recipes](https://flutter.googlesource.com/recipes/)
|
||||||
are run on Windows, Linux, and Mac machines. The configuration for how many
|
are run on Windows, Linux, and Mac machines. The configuration for how many
|
||||||
machines and what kind are managed internally by Google. Contact @kf6gpe or
|
machines and what kind are managed internally by Google. File an
|
||||||
another Google member of the Flutter team if you suspect changes are needed
|
[infra ticket](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue)
|
||||||
there. Both of these technologies are highly specific to the [LUCI](https://github.com/luci)
|
if you suspect changes are needed there. Both of these technologies are highly
|
||||||
project, which is the successor to Chromium's infra. We're just borrowing some
|
specific to the [LUCI](https://github.com/luci) project, which is the successor
|
||||||
of their infrastructures.
|
to Chromium's infra and the foundation to Flutter's infrastructure.
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
@ -71,13 +75,9 @@ search for files named `api.py` or `example.py` under `infra/build`.
|
|||||||
|
|
||||||
### Editing a recipe
|
### Editing a recipe
|
||||||
|
|
||||||
Flutter has one recipe per repository. Currently
|
Flutter has several recipes depending on the test. The recipes share common
|
||||||
[flutter/flutter](https://flutter.googlesource.com/recipes/+/refs/heads/master/recipes/flutter.py)
|
actions through `recipe_modules`. Searching the builder config in [flutter/infra](https://github.com/flutter/infra)
|
||||||
and
|
will indicate the recipe used for a test.
|
||||||
[flutter/engine](https://flutter.googlesource.com/recipes/+/refs/heads/master/recipes/engine.py):
|
|
||||||
|
|
||||||
- recipes/flutter.py
|
|
||||||
- recipes/engine.py
|
|
||||||
|
|
||||||
Recipes are just Python with some limitations on what can be imported. They are
|
Recipes are just Python with some limitations on what can be imported. They are
|
||||||
[documented](https://github.com/luci/recipes-py/blob/master/doc/user_guide.md)
|
[documented](https://github.com/luci/recipes-py/blob/master/doc/user_guide.md)
|
||||||
@ -96,8 +96,9 @@ The typical cycle for editing a recipe is:
|
|||||||
`GIT_HASH` is the hash to build (which is important for the engine but not
|
`GIT_HASH` is the hash to build (which is important for the engine but not
|
||||||
for the framework).
|
for the framework).
|
||||||
5. To submit a CL, you need a local branch first (`git checkout -b [some branch name]`).
|
5. To submit a CL, you need a local branch first (`git checkout -b [some branch name]`).
|
||||||
6. Upload the patch (`git commit`, `git cl upload`), and send it to someone in
|
6. Upload the patch (`git commit`, `git cl upload`), and open the outputted URL to the CL.
|
||||||
the `OWNERS` file for review.
|
7. Use "Find owners" to get reviewers for the CL
|
||||||
|
|
||||||
|
|
||||||
### The infra config repository
|
### The infra config repository
|
||||||
|
|
||||||
@ -105,21 +106,12 @@ The [flutter/infra](https://github.com/flutter/infra) repository contains
|
|||||||
configuration files for the dashboard, builder groups, scheduling, and
|
configuration files for the dashboard, builder groups, scheduling, and
|
||||||
individual builders. Edits to this may require changes other internal Google
|
individual builders. Edits to this may require changes other internal Google
|
||||||
repositories - e.g., to change the operating system or number of machines. If
|
repositories - e.g., to change the operating system or number of machines. If
|
||||||
you want to do that, reach out to @kf6gpe or another member of the Google team.
|
you want to do that, file an [infra ticket](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue)
|
||||||
|
with your proposed changes.
|
||||||
|
|
||||||
Each configuration file in that repository has a link in the top comments to a
|
Each configuration file in that repository has a link in the top comments to a
|
||||||
schema that describes available properties.
|
schema that describes available properties.
|
||||||
|
|
||||||
### Future Directions
|
|
||||||
|
|
||||||
We would like to host our recipes instead of storing them in
|
|
||||||
[build](https://chromium.googlesource.com/chromium/tools/build.git/+/master/scripts/slave/recipes/flutter).
|
|
||||||
Support for [cross-repository
|
|
||||||
recipes](https://github.com/luci/recipes-py/blob/master/doc/cross_repo.md) is
|
|
||||||
in-progress. If you view the git log of this directory, you'll see we initially
|
|
||||||
tried, but it's not quite ready.
|
|
||||||
|
|
||||||
|
|
||||||
### Android Tools
|
### Android Tools
|
||||||
|
|
||||||
The Android SDK and NDK used by Flutter's Chrome infra bots are stored in Google
|
The Android SDK and NDK used by Flutter's Chrome infra bots are stored in Google
|
||||||
|
Loading…
x
Reference in New Issue
Block a user