Hash :
11b9dc59
Author :
Date :
2019-06-18T15:28:44
Switch ANGLE Win and Linux CI bots to builderless. Also update doc. Bug: chromium:973992 Change-Id: I59a27935d2bcd438df025945b885384b1d5b0792 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665328 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
In addition to the ANGLE try bots using Chrome, and the GPU.FYI bots, ANGLE has standalone testing on the Chrome infrastructure. Currently these tests are compile-only. This page is for maintaining the configurations that don’t use Chromium. Also see the main instructions for ANGLE Wrangling.
It’s the ANGLE team’s responsibility for maintaining this testing infrastructure. The bot configurations live in four different repos and six branches.
Continuous builders for every ANGLE revision are found on the CI console:
https://ci.chromium.org/p/angle/g/ci/console
Try jobs from pre-commit builds are found on the builders console:
https://ci.chromium.org/p/angle/g/try/builders
bugs.chromium.org/p/chromium/issues/entry?template=Build+Infrastructure:
chrome-internal.googlesource.com/infradata/config:
configs/chromium-swarm/starlark/bots/angle.star with either Mac slaves requested in the previous step or increase the amount of Windows or Linux GCEs.
chromium.googlesource.com/chromium/tools/build:
scripts/slave/recipes/angle.py with new the config. ./scripts/slave/recipes.py test train to update checked-in golden files. This might no longer be necessary.
chromium.googlesource.com/angle/angle:
infra/config/global/cr-buildbucket.cfg to add the new builder (to ci and try), and set the new config option. infra/config/global/luci-milo.cfg to make the builders show up on the ci and try waterfalls. infra/config/global/luci-scheduler.cfg to make the builders trigger on new commits or try jobs respectively. infra/config/cq.cfg to add the builder to the default CQ jobs (if desired). There are other places where configuration for ANGLE infra lives. These are files that we shouldn’t need to modify very often:
chrome-internal.googlesource.com/infradata/config:
configs/luci-token-server/service_accounts.cfg (service account names) configs/chromium-swarm/pools.cfg (swarming pools)
chromium.googlesource.com/chromium/tools/depot_tools:
recipes/recipe_modules/gclient/config.py (gclient config)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
# ANGLE Standalone Testing Infrastructure
In addition to the ANGLE try bots using Chrome, and the GPU.FYI bots, ANGLE
has standalone testing on the Chrome infrastructure. Currently these tests are
compile-only. This page is for maintaining the configurations that don't use
Chromium. Also see the main instructions for [ANGLE Wrangling](ANGLEWrangling.md).
It's the ANGLE team's responsibility for maintaining this testing
infrastructure. The bot configurations live in four different repos and six
branches.
## Info Consoles
Continuous builders for every ANGLE revision are found on the CI console:
[https://ci.chromium.org/p/angle/g/ci/console](https://ci.chromium.org/p/angle/g/ci/console)
Try jobs from pre-commit builds are found on the builders console:
[https://ci.chromium.org/p/angle/g/try/builders](https://ci.chromium.org/p/angle/g/try/builders)
## How to add a new build configuration
1. [`bugs.chromium.org/p/chromium/issues/entry?template=Build+Infrastructure`](http://bugs.chromium.org/p/chromium/issues/entry?template=Build+Infrastructure):
* If adding a Mac bot, request new slaves by filing an infra issue.
1. [`chrome-internal.googlesource.com/infradata/config`](http://chrome-internal.googlesource.com/infradata/config):
* Update **`configs/chromium-swarm/starlark/bots/angle.star`** with either Mac slaves requested in the previous step or increase the amount of Windows or Linux GCEs.
1. [`chromium.googlesource.com/chromium/tools/build`](https://chromium.googlesource.com/chromium/tools/build):
* Update **`scripts/slave/recipes/angle.py`** with new the config.
* The recipe code requires 100% code coverage through mock bots, so add mock bot config to GenTests.
* Maybe run `./scripts/slave/recipes.py test train` to update checked-in golden files. This might no longer be necessary.
1. [`chromium.googlesource.com/angle/angle`](http://chromium.googlesource.com/angle/angle):
* Update **`infra/config/global/cr-buildbucket.cfg`** to add the new builder (to ci and try), and set the new config option.
* Update **`infra/config/global/luci-milo.cfg`** to make the builders show up on the ci and try waterfalls.
* Update **`infra/config/global/luci-scheduler.cfg`** to make the builders trigger on new commits or try jobs respectively.
* Update **`infra/config/cq.cfg`** to add the builder to the default CQ jobs (if desired).
## Other Configuration
There are other places where configuration for ANGLE infra lives. These are files that we shouldn't need to modify very often:
1. [`chrome-internal.googlesource.com/infradata/config`](http://chrome-internal.googlesource.com/infradata/config):
* **`configs/luci-token-server/service_accounts.cfg`** (service account names)
* **`configs/chromium-swarm/pools.cfg`** (swarming pools)
1. [`chromium.googlesource.com/chromium/tools/depot_tools`](http://chromium.googlesource.com/chromium/tools/depot_tools):
* **`recipes/recipe_modules/gclient/config.py`** (gclient config)