This removes every reference but the "--master/-m" cmd-line arg and the
"masters" mb_config.pyl key, which will be removed in a follow-up once
all users of mb.py (ie: recipes) have switched over.
"builder_group" is also the term we're using when replacing "master" in
recipe code: crbug.com/1109276. So we should conform on using that term
going forward.
Bug: 1117773
Change-Id: I10a3c7a4bc5fd5146bc88d670564a745cb3fce2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2605225
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/master@{#840641}
The Gerrit plugin will now automatically populate the list of
tryservers from LUCI, meaning that we no longer need to manually
configure things and don't need to generate a config file from
the MB entries. Accordingly, this CL removes the
`gerrit-buildbucket-config` code from MB.
Bug: 813196
Change-Id: I1c4ba1099a11822c2c741eb21dc61e4f5a163369
Reviewed-on: https://chromium-review.googlesource.com/1053377
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557416}
This adds a subcommand to MB that will allow you to build
everything needed to run a given target, and then put all
of the needed files into a single zip file that can be
easily redistributed.
Also, this fixes a couple of minor bugs where `isolate` didn't
work for an additional_compile_target, and wouldn't build the
target by default, and fixes the TOC entries in the user
guide to display properly by working around a Gitiles bug.
R=maruel@chromium.org
BUG=824595
Change-Id: I3d77a33efbce6f6159cd6c8c1b2d727494d9f200
Reviewed-on: https://chromium-review.googlesource.com/974718
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546225}
This adds the initial support to MB to be able to build and run
a binary under swarming easily. It builds on the existing code
in MB for building and isolating targets, and just adds uploading
the isolate, triggering the task, waiting for and collecting the
results.
e
The end goal is that it should be this easy to reproduce a failure
in a bot config:
$ fetch chromium && python src\tools\mb\mb.py run --swarmed \
--master tryserver.chromium.win \
--builder win-msvc-rel \
out\Release base_unittests
Adding this gives us a starting framework that we can build on
for the bit.ly/chromium-test-runner-api cleanup work.
R=jbudorick@chromium.org, maruel@chromium.org
BUG=794783
Change-Id: I160706b1a563bceb36b8465857d32692a3ca004d
Reviewed-on: https://chromium-review.googlesource.com/825925
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524568}
This is a long-overdue change that removes all of the code
from //tools/mb for invoking GYP instead of GN. This also
updates the docs to remove most of the references to GYP.
The docs can probably be updated even more to talk about
other things that have been added, but I'll leave that
for a separate CL.
R=jbudorick@chromium.org
Change-Id: Ic03c43189ec6fe0cc567d84480a27bc969a4477d
Reviewed-on: https://chromium-review.googlesource.com/825586
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523978}
This subcommand prints the trybot configuration in the
buildbucket.config format expected by gerrit. This should hopefully
make it a little easier to maintain the buildbucket.config file.
The previous attempt to land this CL was reverted:
https://chromium-review.googlesource.com/599393
because it broke an internal builder which did not supply a definition
of 'luci_tryservers'. Addressed by making 'luci_tryservers' optional.
Bug:
Change-Id: I25796ebeb61218de0e8f52e36de77fa3ff098498
Reviewed-on: https://chromium-review.googlesource.com/604940
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493916}
This reverts commit b567cf95b2.
Reason for revert: breaking official.continuous builders
BUG=751954
Original change's description:
> Add a "buildbucket" subcommand to mb.
>
> This subcommand prints the trybot configuration in the
> buildbucket.config format expected by gerrit. This should hopefully
> make it a little easier to maintain the buildbucket.config file.
>
> Bug:
> Change-Id: I7d956efb6c08128ae0ceaa6b68bcc9001296549c
> Reviewed-on: https://chromium-review.googlesource.com/568666
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#491647}
TBR=agable@chromium.org,dpranke@chromium.org,pcc@chromium.org
Change-Id: I2cc5f086b9787723337795c3c2323c3bafdc89f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/599393
Reviewed-by: Michael Moss <mmoss@chromium.org>
Commit-Queue: Michael Moss <mmoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491656}
This subcommand prints the trybot configuration in the
buildbucket.config format expected by gerrit. This should hopefully
make it a little easier to maintain the buildbucket.config file.
Bug:
Change-Id: I7d956efb6c08128ae0ceaa6b68bcc9001296549c
Reviewed-on: https://chromium-review.googlesource.com/568666
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491647}
It existed only for compatibility with GYP and now all the required
pieces have been updated, and thus it can now be removed.
BUG=None
Change-Id: I66eff47aaeebae17e795892208bf04ce1d1cd803
Reviewed-on: https://chromium-review.googlesource.com/558405
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Thiago Farina <tfarina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#483844}
The PGO builders need to run multiple compiles in a single build,
each with different arguments. This was not previously possible
with MB, but this CL adds support for specifying a list of configs
per builder, and adds a --phase command line arg to indicate which
phase of the build should be generated.
It is an error to specify --phase on a builder that isn't
expected to have multiple phases. Also phases are 1-based (phase 1,
phase 2, etc.).
Also, this CL cleans up some TODOs that I no longer plan to fix.
R=sebmarchand@chromium.org
BUG=595947
Review-Url: https://codereview.chromium.org/2160353003
Cr-Commit-Position: refs/heads/master@{#406955}
This allows changing the path to make this script usable
in other projects than chromium.
BUG=616035
Review-Url: https://codereview.chromium.org/2038483002
Cr-Commit-Position: refs/heads/master@{#398296}
This adds a command by which we can track
- which builders no longer exist but are in the config file
and should be purged
- which builders aren't in the config file, meaning we haven't
looked at them
- which builders still need to have their flags checked.
- which builders are still on GYP
R=estaab@chromium.org
BUG=432967, 481692
Review URL: https://codereview.chromium.org/1794573002
Cr-Commit-Position: refs/heads/master@{#381094}
With these changes, the ios trybots should start working.
Part of this change makes MB aware of the bot config files
in //ios/build/bots, so that we don't have to configure
the iOS bots in two different places.
See the updated MB docs for details.
R=smut@google.com, sdefresne@chromium.org, stuartmorgan@chromium.org
BUG=517216
Review URL: https://codereview.chromium.org/1411183010
Cr-Commit-Position: refs/heads/master@{#360688}
Calling `mb analyze` will now get two lists of targets passed in
instead of one, and return two differently named lists as output.
See the updated docs or the bug for details.
The code currently supports both new and old interfaces, but we'll
remove the old interface once the recipes have been updated.
R=sky@chromium.org, phajdan.jr@chromium.org
BUG=552146
Review URL: https://codereview.chromium.org/1440173002
Cr-Commit-Position: refs/heads/master@{#359575}
Was missing the end of a code block, so it was very hard to read.
BUG=
Review URL: https://codereview.chromium.org/1402423005
Cr-Commit-Position: refs/heads/master@{#355911}
This re-lands #349043 with some fixes for win32; we weren't consistently
using os.sep everywhere. This patch fixes that and consolidates the code
so that all references to os.sep and os.path.join() happen in the same
places. In addition, this patch updates the unittests to run cleanly on
win32 and test a win32-specific example (to catch the case that broke).
TBR=scottmg@chromium.org
BUG=481692
Review URL: https://codereview.chromium.org/1348153003
Cr-Commit-Position: refs/heads/master@{#349477}
Reason for revert:
Looks like the output_dir part of this is wrong: ...
http://build.chromium.org/p/chromium.perf/builders/Win%20x64%20Builder/builds/17237/steps/generate_build_files/logs/stdio
Original issue's description:
> Remove the 'gyp_config' concept from MB.
>
> Previously MB would try to ensure that the build directory
> passed to it matched the expected gyp configuration for the bot
> (i.e. that we would not pass "//out/Debug" as a path for a
> release bot).
>
> Making this work correctly was awkward for the Win x64 bots
> (which use Release_x64 instead of Release), and it's not clear
> that this check would ever actually catch a real problem.
>
> So, this patch deletes all of the 'gyp_config' logic instead
> and simplifies things.
>
> TBR=scottmg@chromium.org
> BUG=481692
>
> Committed: https://crrev.com/fae80e312dba6818315f4f8f0c3a1d85f6f4f9fb
> Cr-Commit-Position: refs/heads/master@{#349043}
TBR=scottmg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=481692
Review URL: https://codereview.chromium.org/1349463003
Cr-Commit-Position: refs/heads/master@{#349046}
Previously MB would try to ensure that the build directory
passed to it matched the expected gyp configuration for the bot
(i.e. that we would not pass "//out/Debug" as a path for a
release bot).
Making this work correctly was awkward for the Win x64 bots
(which use Release_x64 instead of Release), and it's not clear
that this check would ever actually catch a real problem.
So, this patch deletes all of the 'gyp_config' logic instead
and simplifies things.
TBR=scottmg@chromium.org
BUG=481692
Review URL: https://codereview.chromium.org/1348463002
Cr-Commit-Position: refs/heads/master@{#349043}
This is needed to support building the "Linux ARM" configurations w/ MB,
which are cross-compiles but the target os is linux, not android or iOS.
Theoretically it might be needed for a real CrOS compile as well. You
can now specify that a cross-compile is needed with the 'crosscompile'
mixin.
We don't normally need this flag for android and ios builds, because
gyp_chromium sets it for us when target_os={android,ios}.
R=thakis@chromium.org
BUG=481692
Review URL: https://codereview.chromium.org/1294663002
Cr-Commit-Position: refs/heads/master@{#343327}
This adds the information about how the integration w/ isolates works,
and does a bunch of additional cleanup to make sure everything is
documented and in sync.
R=maruel@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1206633003
Cr-Commit-Position: refs/heads/master@{#338951}
This fixes a number of small issues I found while actually testing
things to get it ready to run on the bots. In particular, 'mb analyze'
didn't work right for GN. Tests were added.
TBR=brettw@chromium.org
BUG=466436
Review URL: https://codereview.chromium.org/1074583002
Cr-Commit-Position: refs/heads/master@{#324312}
This CL implements a new tool called mb (//tools/mb) that wraps both GYP
and GN to implement the 'gen' and 'analyze' steps on the bots. It
serves three purposes:
1. To move the decision to use GYP or GN to generate the build files to
a configuration stored in the repo (and to hide it from the bots).
2. To move which flags are used to a configuration stored in the repo,
so that we can version the flags alongside the code, and change the
flags without needing to change things in the build repo.
3. To consolidate a list of all of the different build configs we need
to support and verify for the GYP->GN migration.
For more details on the above, see //tools/md/README.md and the linked
docs.
R=scottmg@chromium.org, brettw@chromium.org
BUG=466436
Review URL: https://codereview.chromium.org/1062613004
Cr-Commit-Position: refs/heads/master@{#324231}