OLD | NEW |
(Empty) | |
| 1 Instructions on how to use the buildrunner to execute builds. |
| 2 |
| 3 # Introduction |
| 4 |
| 5 The buildrunner is a script which extracts buildsteps from builders and runs the
m locally on the slave. It is being developed to simplify development on and red
uce the complexity of the Chromium build infrastructure. When provided a master
name (with `master.cfg` inside) and a builder, it will either execute steps sequ
entially or output information about them. |
| 6 |
| 7 `runbuild.py` is the main script, while `runit.py` is a convenience script that
sets up `PYTHONPATH` for you. Note that you can use `runit.py` to conveniently r
un other scripts in the `build/` directory. |
| 8 |
| 9 # Master/Builder Selection |
| 10 |
| 11 `scripts/tools/runit.py scripts/slave/runbuild.py --list-masters` |
| 12 |
| 13 will list all masters in the search path. Select a mastername (alternatively, us
e --master-dir to use a specific directory). |
| 14 |
| 15 Next, we need to pick a builder or slave hostname to build. The slave hostname i
s only used to locate a suitable builder, so it need not be the actual hostname
of the slave you're on. |
| 16 |
| 17 To list all the builders in a master, run: |
| 18 |
| 19 `scripts/tools/runit.py scripts/slave/runbuild.py mastername --list-builders` |
| 20 |
| 21 Example, if you're in `/home/user/chromium/build/scripts/slave/`: |
| 22 |
| 23 `scripts/tools/runit.py scripts/slave/runbuild.py chromium --list-builders` |
| 24 |
| 25 will show you which builders are available under the `chromium` master. |
| 26 |
| 27 # Step Inspection and Execution |
| 28 |
| 29 You can check out the list of steps without actually running them like so: |
| 30 |
| 31 `scripts/tools/runit.py scripts/slave/runbuild.py chromium build56-m1 --list-st
eps` |
| 32 |
| 33 (Note that some exotic steps, such as gclient steps, won't show up in buildrunne
r.) You can show the exact commands of most steps with --show-commands: |
| 34 |
| 35 `scripts/tools/runit.py scripts/slave/runbuild.py chromium build56-m1 --show-co
mmands` |
| 36 |
| 37 Finally, you can run the build with: |
| 38 |
| 39 `scripts/tools/runit.py scripts/slave/runbuild.py mastername buildername/slaveho
st` |
| 40 |
| 41 Example, if you're in `/home/user/chromium/build/scripts/slave/`: |
| 42 |
| 43 `scripts/tools/runit.py scripts/slave/runbuild.py chromium build56-m1` |
| 44 |
| 45 or |
| 46 |
| 47 `scripts/tools/runit.py scripts/slave/runbuild.py chromium 'Linux x64'` |
| 48 |
| 49 `--stepfilter` and `--stepreject`` can be used to filter steps to execute based
on a regex (you can see which with `--list-steps`). See `-help`for more info. |
| 50 |
| 51 # Properties |
| 52 |
| 53 Build properties and factory properties can be specified using `--build-properti
es` and `--factory-properties`, respectively. Since build properties contain a m
aster and builder directive, any master or builder options on the CLI are ignore
d. Properties can be inspected with either or both of --output-build-properties
or --output-factory-properties. |
| 54 |
| 55 # Monitoring |
| 56 |
| 57 You can specify a log destination (including '`-`' for stdout) with `--logfile`.
Enabling `--annotate` will enable annotator output. |
| 58 |
| 59 # Using Within a Buildstep |
| 60 |
| 61 The an annotated buildrunner can be invoked via chromium\_commands.AddBuildStep(
). Set the master, builder, and any stepfilter/reject options in factory\_proper
ties. For example usage, see f\_linux\_runnertest in master.chromium.fyi/master.
cfg and check\_deps2git\_runner in chromium\_factory.py |
| 62 |
| 63 # More Information |
| 64 |
| 65 Running with `--help` provides more detailed usage and options. If you have any
questions or issues please contact xusydoc@chromium.org. |
OLD | NEW |