Commit Graph

19 Commits

Author SHA1 Message Date
Andrew Halberstadt
86db9106de Bug 1437912 - [moztest] Map flavors and subsuites to a suite definition, r=gbrown
The end goal here is to be able to use |mach try fuzzy <path>| with tests that
belong to a subsuite. To do this, we need a unique 'task_regex' value for each
subsuite so that we can map a test path back to a set of tasks.

This removes the TEST_FLAVORS dict (which was mostly just a redefinition of the
data in TEST_SUITES), and instead provides two new private mappings:

<flavor> -> suite definition
(<flavor>, <subsuite>) -> suite definition

To retrieve a suite definition given a flavor/subsuite, consumers can now call
get_suite_definition.

MozReview-Commit-ID: 2pe1v1IHUVy
2018-02-13 14:16:46 -05:00
Andrew Halberstadt
1a6edbe8f1 Bug 1413928 - [tryselect] Implement paths for |mach try fuzzy| r=maja_zf
This enables the syntax like:
./mach try fuzzy dom/indexedDB

This will open up the fzf interface like normal, except only tasks
that have tests under dom/indexedDB will be selectable (and there
will only be one chunk per configuration).

This can be combined with -q/--query like normal:
./mach try fuzzy dom/indexedDB -q "!pgo !cov !asan"

When the tasks get scheduled, only the tests under the specified
path(s) will run within the harness.

MozReview-Commit-ID: IHRXXi5mB4G
2017-11-15 16:36:07 -05:00
Andrew Halberstadt
304b34ac7f Bug 1413928 - [tryselect] Create a new argument group for 'task' arguments r=maja_zf
This simply groups arguments related to generating the list of
tasks from taskgraph into their own argument group.

MozReview-Commit-ID: IHRXXi5mB4G
2017-11-02 16:03:38 -04:00
Andrew Halberstadt
d33b8880b0 Bug 1422302 - Create python/mozterm for sharing terminal blessings across modules r=gps
This is a new module that will provide a place to store some common
abstractions around the 'blessings' module. The main entrypoint is:

    from mozterm import Terminal
    term = Terminal()

If blessings is available, this will return a blessings.Terminal()
object. If it isn't available, or something went wrong on import,
this will return a NullTerminal() object, which is a drop-in
replacement that does no formatting.

MozReview-Commit-ID: 6c63svm4tM5
2017-12-04 09:38:24 -05:00
Tom Prince
c2d090076a Bug 1421002: Get tasks for mach try fuzzy from the root of the repository; r=ahal
`mach try` pushes the repository containing the current directory. When this is
a comm-central checkout, the taskcluster configuration should also come from that
repository.

MozReview-Commit-ID: KWbNAe4jrHT
2017-11-21 13:39:21 -07:00
Andrew Halberstadt
14e7a409c8 Bug 1414919 - [tryselect] Add --rebuild support to |mach try fuzzy|, r=jmaher
This allows rebuilding all selected tasks. This defines an upper limit of
20 rebuilds per push. If more are needed, developers can either change it
in code or push multiple times.

MozReview-Commit-ID: I0XtMP5yEEq
2017-11-07 10:27:44 -05:00
Andrew Halberstadt
b1f211295d Bug 1414894 - [tryselect] Don't install shell extensions when bootstrapping fzf for |mach try fuzzy|, r=armenzg
Currently the prompts don't make it clear enough that running fzf will mess with your
shell settings. This means users could install it without realizing, forget and get
confused later on.

Rather than try to address this, it's simpler to always skip the shell extensions as
|mach try fuzzy| doesn't need them anyway. The extensions are useful, but are better
installed via something like |mach bootstrap| which can be tackled in a separate bug.

MozReview-Commit-ID: 2kx7UGO5LJ0
2017-11-06 20:29:25 -05:00
Andrew Halberstadt
7ba6c6301e Bug 1400503 - [tryselect] Add an option to open the presets file in an editor, r=armenzg
MozReview-Commit-ID: 2jwdAaNWHH7
2017-10-27 14:58:34 -04:00
James Graham
761e0a3cb5 Bug 1401150 - Support try pushes on a closed tree with mach try, r=ahal
This adds the magic CLOSED TREE string to the commit message for both
try syntax and the fuzzy frontend.

MozReview-Commit-ID: 492UME3VcJN
2017-10-16 18:59:45 +01:00
Andrew Halberstadt
b011bbbf10 Bug 1400469 - Add ability to specify commit message to |mach try|, r=armenzg
MozReview-Commit-ID: LWkAEDWn8NC
2017-09-18 12:43:03 -04:00
Gregory Szorc
87de8af26f Bug 1400429 - Advertise use of mach try in commit message; r=ahal
This will allow us to inspect Try pushes to see how many are using
`mach try`.

The commit message for `mach try fuzzy` already advertised its usage.
We tweak the syntax a little so it isn't redundant.

MozReview-Commit-ID: 6kmYRKp0ffF
2017-09-15 16:17:37 -07:00
Andrew Halberstadt
3b8c2d1e54 Bug 1391075 - Add template to modify task env from |mach try fuzzy|, r=dustin
This adds a new morph template for modifying a task's env and the corresponding glue
to specify it from |mach try fuzzy|. It can be used like:

./mach try fuzzy --env FOO=1 --env BAR=baz

This will simply set those environment variables in *all* tasks. We could add the
ability to only specify it for a subset of tasks in the future, but that seems like
a hard problem that probably isn't worth it.

MozReview-Commit-ID: C4sokv886PU
2017-08-25 15:24:22 -04:00
Andrew Halberstadt
861b7351fe Bug 1390969 - [tryselect] Add ability to save and load presets to |mach try fuzzy| r=jgraham
This also prints the last known query used in the commit message. This won't be accurate as
users can delete + enter multiple queries in a single session, but will give users a slightly
better idea of what was scheduled by glancing at the commit message.

MozReview-Commit-ID: 93FbEmMvd9t
2017-08-24 11:04:56 -04:00
Andrew Halberstadt
beaf165060 Bug 1391675 - [tryselect] Move --no-push into common arguments, r=armenzg
The main motivation behind this change is to make testing easier, so e.g:
./mach try fuzzy --no-push
and
./mach try syntax --no-push

both work the same way.

MozReview-Commit-ID: LmjA3Kq7xKN
2017-08-21 13:14:31 -04:00
Andrew Halberstadt
1de2309672 Bug 1391675 - [tryselect] Make main command and all subcommands use the same argument parser, r=armenzg
This will give us a good way to share arguments between subcommands.

MozReview-Commit-ID: KmXRj8TBvYK
2017-08-17 11:13:50 -04:00
Andrew Halberstadt
1f102f23aa Bug 1387135 - Add ability to use 'artifact' template to |mach try fuzzy|, r=maja_zf
This uses the new templating mechanism in taskgraph to schedule artifact builds when using
|mach try fuzzy|. Like |mach try syntax|, this will automatically be enabled if
--enable-artifact-builds is set in the mozconfig. The --artifact/--no-artifact arguments
can be used to override the default.

MozReview-Commit-ID: J8HVZzOt4mX
2017-08-15 11:39:46 -04:00
Andrew Halberstadt
f2b5c6cc71 Bug 1390605 - Add ability to use full_task_set and tasks from other projects to mach try fuzzy, r=Callek
This adds --full to switch to using the full_task_set instead of the target_task_set. The full set has
around ~7000 tasks while the target set for mozilla-central has ~2300, so I think leaving the target as
default makes sense (as it is the 95% use case).

This also adds the ability to specify a custom parameters.yml file via -p/--parameters. This just gets
forwarded to the taskgraph for generation.

MozReview-Commit-ID: Esjvkh1p0Yw
2017-08-15 15:22:56 -04:00
Andrew Halberstadt
c066dd978e Bug 1388811 - [try fuzzy] Add ability to run non-interactive fuzzy queries, r=armenzg
MozReview-Commit-ID: JojBS8pZHSk
2017-08-09 13:11:47 -04:00
Andrew Halberstadt
6361b3f209 Bug 1384593 - Add an fzf based fuzzy try selector, r=armenzg
This try selector works as follows:

1. Generate target tasks (similar to ./mach taskgraph target)
2. Pipe all tasks to fzf (a fuzzy finding binary, this will be bootstrapped if necessary)
3. Allow user to make selection
4. Save selected tasks to 'try_task_config.json'. This is a new try scheduling
   mechanism built into taskcluster (see bug 1380306).
5. Use `hg push-to-try` (or git-cinnabar) to push the added file to try. This
   will use a temporary commit, so no trace of 'try_task_config.json' should be
   left over after use.


If you get messages like STOP! No try syntax found, you need to update version-control-tools:
./mach mercurial-setup --update



MozReview-Commit-ID: 4xHwZ9fATLv
2017-07-27 11:48:53 -04:00