We parse the output of several version control commands in |mach try|, yet
redirect stderr to stdout. This is causing issues for people whenever the
vcs outputs some kind of warning.
MozReview-Commit-ID: F0L56at0MYS
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
This fixes a regression from bug 1384593. I was going to add a test for this, but it would be
a better use of time to fix bug 1185599 and add a test there. We already have vcs tests in other
parts of the tree so consolidating them into a single module is likely easier than standing up
another one-off vcs tester.
MozReview-Commit-ID: E51Tb1qC9Wb
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
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
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
This copies the vcs abstraction from python/mozlint/mozlint/vcs.py. Consumers can call:
VCSHelper.create()
and that will automatically detect whether we're in hg or git and return the appropriate
abstraction class.
MozReview-Commit-ID: 4xHwZ9fATLv