more details in infra/README.md
This commit is contained in:
parent
347ee25a93
commit
40c7adff99
@ -16,6 +16,28 @@ recipes](https://chromium.googlesource.com/chromium/tools/build.git/+/master/scr
|
|||||||
which we run on that master. Both of these technologies are highly specific to
|
which we run on that master. Both of these technologies are highly specific to
|
||||||
Google's Chromium project. We're just borrowing some of their infrastructure.
|
Google's Chromium project. We're just borrowing some of their infrastructure.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- [install depot_tools](http://www.chromium.org/developers/how-tos/install-depot-tools)
|
||||||
|
- Python package installer: `sudo apt-get install python-pip`
|
||||||
|
- Python coverage package (only needed for `training_simulation`): `sudo pip install coverage`
|
||||||
|
|
||||||
|
## 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
|
## Editing a recipe
|
||||||
|
|
||||||
Flutter has one recipe per repository. Currently
|
Flutter has one recipe per repository. Currently
|
||||||
@ -23,32 +45,25 @@ Flutter has one recipe per repository. Currently
|
|||||||
and
|
and
|
||||||
[flutter/engine](https://chromium.googlesource.com/chromium/tools/build.git/+/master/scripts/slave/recipes/flutter/engine.py).
|
[flutter/engine](https://chromium.googlesource.com/chromium/tools/build.git/+/master/scripts/slave/recipes/flutter/engine.py).
|
||||||
|
|
||||||
Recipes are just python. They are
|
Recipes are just Python. 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)
|
||||||
by the [luci/recipes-py github project](https://github.com/luci/recipes-py).
|
by the [luci/recipes-py github project](https://github.com/luci/recipes-py).
|
||||||
|
|
||||||
The typical cyle for editing a recipe is:
|
The typical cycle for editing a recipe is:
|
||||||
|
|
||||||
1. Make your edits.
|
1. Make your edits.
|
||||||
2. Run `build/scripts/slave/recipes.py simulation_test train flutter` to update expected files (remove the flutter if you need to do a global update).
|
2. Run `build/scripts/slave/recipes.py simulation_test train flutter` to update expected files (remove the flutter if you need to do a global update).
|
||||||
3. Run `build/scripts/slave/recipes.py run flutter/flutter` (or flutter/engine) if something was strange during training and you need to run it locally.
|
3. Run `build/scripts/slave/recipes.py run flutter/flutter` (or flutter/engine) if something was strange during training and you need to run it locally.
|
||||||
4. Upload the patch (`git commit`, `git cl upload`) and send it to someone in the `recipes/flutter/OWNERS` file for review.
|
4. Upload the patch (`git commit`, `git cl upload`) and send it to someone in the `recipes/flutter/OWNERS` file for review.
|
||||||
|
|
||||||
Most of the functionality for recipes comes from recipe_modules, which are
|
|
||||||
unfortunately spread to many separate repositories. The easiest way to find
|
|
||||||
documentation on how to use modules is to [get a full checkout of chromium's
|
|
||||||
`infra`
|
|
||||||
repositories](https://chromium.googlesource.com/infra/infra/+/master/doc/source.md)
|
|
||||||
and search for files named `api.py` or `example.py` under `infra/build`.
|
|
||||||
|
|
||||||
## Editing the client.flutter buildbot master
|
## Editing the client.flutter buildbot master
|
||||||
|
|
||||||
Flutter uses Chromium's fancy
|
Flutter uses Chromium's fancy
|
||||||
[builders.pyl](https://chromium.googlesource.com/infra/infra/+/master/doc/users/services/buildbot/builders.pyl.md)
|
[builders.pyl](https://chromium.googlesource.com/infra/infra/+/master/doc/users/services/buildbot/builders.pyl.md)
|
||||||
master generation system. Chromium hosts 100s (if not 1000s) of buildbot
|
master generation system. Chromium hosts 100s (if not 1000s) of buildbot
|
||||||
masters and thus has lots of infrastructure for turning them up and down.
|
masters and thus has lots of infrastructure for turning them up and down.
|
||||||
Eventually all of buildbot is planned to be replaced by other infrastruture, but
|
Eventually all of buildbot is planned to be replaced by other infrastructure,
|
||||||
for now flutter has its own client.flutter master.
|
but for now flutter has its own client.flutter master.
|
||||||
|
|
||||||
You would need to edit client.flutter's master in order to add slaves (talk to
|
You would need to edit client.flutter's master in order to add slaves (talk to
|
||||||
@eseidelGoogle), add builder groups, or to change the html layout of
|
@eseidelGoogle), add builder groups, or to change the html layout of
|
||||||
@ -62,5 +77,5 @@ We would like to host our own recipes instead of storing them in
|
|||||||
[build](https://chromium.googlesource.com/chromium/tools/build.git/+/master/scripts/slave/recipes/flutter).
|
[build](https://chromium.googlesource.com/chromium/tools/build.git/+/master/scripts/slave/recipes/flutter).
|
||||||
Support for [cross-repository
|
Support for [cross-repository
|
||||||
recipes](https://github.com/luci/recipes-py/blob/master/doc/cross_repo.md) is
|
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 intially
|
in-progress. If you view the git log of this directory, you'll see we initially
|
||||||
tried, but it's not quite ready.
|
tried, but it's not quite ready.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user