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