Граф коммитов

23 Коммитов

Автор SHA1 Сообщение Дата
Tom Prince 1398a8e28f Bug 1497575: [staging-release] Add try subcommand to create a push for staging releases; r=aki,ahal
This adds `mach try release` which adds temporary changes to enable staging
release to run.

Differential Revision: https://phabricator.services.mozilla.com/D8625

--HG--
extra : moz-landing-system : lando
2018-10-16 23:04:03 +00:00
Panos Astithas 6a01b19a19 Bug 1257478 - Turn mercurial-setup into vcs-setup and add git support. r=gps
MozReview-Commit-ID: AD6gLqFm8Nn

--HG--
extra : rebase_source : 0214cdc6f6acaaf0621e25f30cb0a2c81849063e
2018-07-04 21:48:42 +03:00
Andrew Halberstadt 0e4eda282f Bug 1471990 - Implement |mach try again| to repeat your last 'try_task_config.json' try push r=gbrown
One of the big downsides to |mach try fuzzy| is that if you use the interactive
finder, there's no way to repeat your last action. If you want to run the same
push again, you have to manually re-select all the same tasks a second time.

It is possible to save presets, but this is fairly heavy-weight and (more)
permanent. Sometimes you just want to re-run a push a few times and forget
about it. It's also possible to craft the query on the command line with -q,
but then you don't get the immediate visual feedback, so you can't be sure that
you typed out the right things without actually pushing.

With |mach try again|, everytime you generate a try_task_config.json via
'fuzzy', 'empty' or any other subcommands that may exist in the future, it'll
get stored in a history file under ~/.mozbuild. Then running |mach try again|
will simply re-run the most recent try_task_config.json.

You'll also be able to view the whole history via |mach try again --list| and
select a specific try_task_config.json (i.e not the most recent one) via
|mach try again --index <index>|.

Example usage will be:
$ ./mach try fuzzy
<select a bunch of tasks>
$ ./mach try again
<re-pushes exact same set of tasks>

MozReview-Commit-ID: 3EZjVCy08uq

Depends on D1808.

Differential Revision: https://phabricator.services.mozilla.com/D1867

--HG--
extra : moz-landing-system : lando
2018-07-16 13:35:30 +00:00
Andrew Halberstadt e3109289c8 Bug 1419512 - [tryselect] Consolidate subcommand parser retrieval in mach_commands.py, r=armenzg
This is a minor cleanup around finding and importing subcommand parser in |mach try|.

MozReview-Commit-ID: IHRXXi5mB4G

--HG--
extra : rebase_source : 6b05b6f3fafed607992b9427225fd43165c4102f
2017-11-02 16:02:35 -04:00
Andrew Halberstadt 52dad304bf Bug 1414399 - [moztest] Refactor |mach test|'s resolving logic into moztest.resolve r=gps
The code in |mach test| for test resolving, should get merged with the TestResolver
class in moztest.resolve. This way it can be shared with other modules and we'll
have a single canonical place for all our test resolving logic.

MozReview-Commit-ID: IHRXXi5mB4G

--HG--
extra : rebase_source : 6f96d06412ab8fa152ac5d9bdd15acbcdc9695c4
2017-11-08 09:59:51 -05:00
Andrew Halberstadt a69182174e Bug 1414399 - [mozbuild/moztest] Move mozbuild.testing.TestResolver to moztest.resolve r=gps
The TestMetadata and TestResolver classes aren't technically part of the build
system. The only connection is that they consume some build system output.

The next patch in this series is going to be merging in a bunch of other test
resolving logic from other parts of the tree. Moving this out first allows us
to keep that extra logic out of mozbuild.

MozReview-Commit-ID: 1eq4SjFVCyW

--HG--
rename : python/mozbuild/mozbuild/test/test_testing.py => testing/mozbase/moztest/tests/test_resolve.py
extra : rebase_source : 7ff11f9ec455547533082d20cb5371845f7a4f21
2017-11-06 08:41:42 -05:00
Andrew Halberstadt fed6622b29 Bug 1400503 - [tryselect] Add an option to open the presets file in an editor, r=armenzg
MozReview-Commit-ID: 2jwdAaNWHH7

--HG--
extra : rebase_source : 8b3d054ce7b6deae439ba657c9c7607043898b3d
2017-10-27 14:58:34 -04:00
Andrew Halberstadt d801a6a681 Bug 1400503 - [tryselect] Separate 'common_arguments' into groups sub-parsers can opt-in to, r=armenzg
This allows subparsers more control over which sets of arguments they need to
implement.  For example, it doesn't make sense for the 'empty' selector to
accept the preset arguments.  Now it can opt-out of those and only implement
the 'push' arguments.

MozReview-Commit-ID: GOfjcFtlfDD

--HG--
extra : rebase_source : 4542adc49e38ff8c450a16363706aba669ad6594
2017-10-27 11:06:24 -04:00
Andrew Halberstadt 7532e51ef9 Bug 1406777 - Support --message and --no-push with |mach try empty|, r=armenzg
This adds all the common arguments to |mach try empty|, including preset
arguments which will just be ignored if specified. The commit message can be
changed with:
./mach try empty -m DONTBUILD

MozReview-Commit-ID: 5RYfLBOIX1g

--HG--
extra : rebase_source : 412cbc50c2901a97893779a73a7f70d5ee6e2d72
2017-10-11 15:45:08 -04:00
Wes Kocher 3042f50d29 Bug 1400425 - Add a `mach try empty` command to push to try with no prompts r=ahal
MozReview-Commit-ID: 6F5vEpTTDS

--HG--
extra : histedit_source : be02948a579b5dfc274f96a0d9ea07a80bc150a7%2C9e820e3058b87aea959a2fa764e3ef0789dc0652
2017-09-25 16:06:50 -07:00
Wes Kocher 31bba17090 Backed out changeset 7fc37806848f (bug 1400425) for flake8 issues a=backout
MozReview-Commit-ID: 7EI7PgX4YoS
2017-09-25 16:06:09 -07:00
Wes Kocher b4daee707a Bug 1400425 - Add a `mach try empty` command to push to try with no prompts r=ahal
MozReview-Commit-ID: 6F5vEpTTDS

--HG--
extra : rebase_source : b173ca390dad7bbdc9a4c0516ed06331f4b1367a
2017-09-25 15:17:50 -07:00
Andrew Halberstadt e4dbc67d72 Bug 1395267 - [tryselect] Make default try selector used when running |mach try| without subcommands configurable, r=armenzg
To use this, create a ~/.mozbuild/machrc file and add:
[try]
default = fuzzy

Now, running |mach try| without a subcommand will default to the fuzzy selector. The syntax selector can still be
run with |mach try syntax|.

MozReview-Commit-ID: Ai6f8cW3Swq

--HG--
extra : rebase_source : 6a107478f7fbd7d8deb4882f0892963fed755b33
2017-08-30 14:45:46 -04:00
Andrew Halberstadt 9e440c1a44 Bug 1390969 - [tryselect] Pull presets handling out of the 'syntax' selector r=jgraham
MozReview-Commit-ID: KmXRj8TBvYK

--HG--
extra : rebase_source : 68974fcc3216aeb481690de1a6ee905735a3b3b7
2017-08-17 11:14:07 -04:00
Andrew Halberstadt 60a3f8a31c 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

--HG--
extra : rebase_source : 9ff275af226cfe65697b980d1b19f9ca9e1dad5f
2017-08-17 11:13:50 -04:00
Andrew Halberstadt d6f78fb8de 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

--HG--
extra : rebase_source : 130fa85ed24ef8f0fe5a713f254bbffd1a83b5a7
2017-08-15 11:39:46 -04:00
Andrew Halberstadt 79bcfe8372 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

--HG--
extra : rebase_source : 69bfdfe2f418001b8446259461a8e404669e37e7
2017-08-15 15:22:56 -04:00
Andrew Halberstadt ae1a1c1bc5 Bug 1388811 - [try fuzzy] Add ability to run non-interactive fuzzy queries, r=armenzg
MozReview-Commit-ID: JojBS8pZHSk

--HG--
extra : rebase_source : 9a2e497d7789e3a41a37668eda05168e8301aa5b
2017-08-09 13:11:47 -04:00
Andrew Halberstadt a98a4718e6 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

--HG--
extra : rebase_source : e22ccb44d5e99e1556bf7315b096b5d6ac96c918
2017-07-27 11:48:53 -04:00
Andrew Halberstadt d94b81dc03 Bug 1384257 - Fix AttributeError when passing paths into |mach try|, r=maja_zf
MozReview-Commit-ID: IuuXt1XHUuM

--HG--
extra : rebase_source : 791d9ee74b3c0fac5f79eb66ce66544ea3aeedef
2017-07-25 15:51:35 -04:00
Andrew Halberstadt 2a6c9e6348 Bug 1382775 - Move autotry logic from |mach try| into autotry proper, r=chmanchester
This is a straightforward copy of code from the mach_commands.py to autotry.py

MozReview-Commit-ID: 7TkbTff0Tv8

--HG--
extra : rebase_source : 7996131427217d9f0213af920d0d4ef0d2e7d0ac
extra : source : f0693a73539265f74f79db9d1e136e7f1c16a1f0
2017-07-18 08:52:42 -04:00
Andrew Halberstadt 7b130edcb5 Bug 1382775 - Add tools/tryselect to flake8 linter, r=chmanchester
This also fixes a handful of lint errors in the mach_commands.py and syntax.py files.

MozReview-Commit-ID: 6nXz87ch3z4

--HG--
extra : rebase_source : f4dd8e19066a28793a941112a39243429a234969
2017-07-17 21:40:15 -04:00
Andrew Halberstadt 88348cfd21 Bug 1382775 - Move testing/tools/autotry to tools/tryselect/selectors/syntax.py, r=chmanchester
The |mach try| implementation isn't really testing specific so figured while doing this refactor
anyway we could take the opportunity to move it to /tools. This renames the "autotry" module to
"syntax" as one of the 'selectors' under the newly created tryselect module.

MozReview-Commit-ID: DmnGU5sKuCk

--HG--
rename : testing/tools/autotry/autotry.py => tools/tryselect/selectors/syntax.py
extra : rebase_source : 52f2a61d97107b8d50e3894ea0f5cd9c24d4108d
2017-07-17 21:36:23 -04:00