[docs] Refresh dev/bots/README.md (#113464)

This commit is contained in:
Casey Hillers 2022-10-19 10:36:02 -07:00 committed by GitHub
parent a832a72036
commit 97e018d8b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,8 +7,6 @@ Flutter build results are available at:
- Aggregate dashboard of the separate CI systems used by Flutter.
* https://cirrus-ci.com/github/flutter/flutter/master
- Testing is done on PRs and submitted changes on GitHub.
* https://ci.chromium.org/p/flutter/
- Additional testing and processing are done after changes are submitted.
Flutter infra requires special permissions to retrigger builds on the
[build dashboard](https://flutter-dashboard.appspot.com/#/build). File an
@ -22,16 +20,16 @@ branch API docs [staging site](https://master-docs.flutter.dev/).
For tagged dev and beta builds, it also builds and deploys the gallery app to
the app stores. It is configured by the [.cirrus.yml](/.cirrus.yml).
We also have post-commit testing with actual devices, in what we call our
[devicelab](../devicelab/README.md).
The build dashboard includes post-commit testing run on physical devices. See
[//dev/devicelab](../devicelab/README.md) for more information.
## LUCI (Layered Universal Continuous Integration)
A [set of recipes](https://flutter.googlesource.com/recipes/)
are run on Windows, Linux, and Mac machines. The configuration for how many
A [set of infra scripts](https://flutter.googlesource.com/recipes/)
run on Windows, Linux, and Mac machines. The configuration for how many
machines and what kind are managed internally by Google. File an
[infra ticket](https://github.com/flutter/flutter/wiki/Infra-Ticket-Queue)
if you suspect changes are needed there. Both of these technologies are highly
to request new machine types to be added. Both of these technologies are highly
specific to the [LUCI](https://github.com/luci) project, which is the successor
to Chromium's infra and the foundation to Flutter's infrastructure.
@ -56,23 +54,6 @@ To run `prepare_package.dart` locally:
- If you're running into `gsutil` permission issues, check with @Hixie to make sure
you have the right push permissions.
### Getting the code
The following will get way more than just recipe code, but it _will_ get the
recipe code:
```bash
mkdir chrome_infra
cd chrome_infra
fetch infra
```
More detailed instructions can be found [here](https://chromium.googlesource.com/infra/infra/+/master/doc/source.md).
Most of the functionality for recipes comes from `recipe_modules`, which are
unfortunately spread to many separate repositories. After checking out the code
search for files named `api.py` or `example.py` under `infra/build`.
### Editing a recipe
Flutter has several recipes depending on the test. The recipes share common
@ -92,7 +73,7 @@ The typical cycle for editing a recipe is:
the existing expected output to match the new output. Verify completely new test
cases by altering the `GenTests` method of the recipe. The recipe is required
to have 100% test coverage.
4. Run `led get-builder 'luci.flutter.prod:BUILDER_NAME' | led edit -p 'revision="GIT_HASH"' | led edit-recipe-bundle | led launch`, where `BUILDER_NAME` is the builder name (e.g. `Linux Engine`), and
4. Run `led get-builder 'luci.flutter.staging:BUILDER_NAME' | led edit -p 'revision="GIT_HASH"' | led edit-recipe-bundle | led launch`, where `BUILDER_NAME` is the builder name (e.g. `Linux Engine`), and
`GIT_HASH` is the hash to build (which is important for the engine but not
for the framework).
* If `led` fails, ensure that your `depot_tools` checkout is up to date.
@ -100,19 +81,6 @@ The typical cycle for editing a recipe is:
6. Upload the patch (`git commit`, `git cl upload`), and open the outputted URL to the CL.
7. Use "Find owners" to get reviewers for the CL
### The infra config repository
The [infra](https://flutter.googlesource.com/infra/+/refs/heads/main) repository contains
configuration files for the dashboard, builder groups, scheduling, and
individual builders. Edits to this may require changes other internal Google
repositories - e.g., to change the operating system or number of machines. If
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
schema that describes available properties.
### Android Tools
The Android SDK and NDK used by Flutter's Chrome infra bots are stored in Google