gecko-dev/tools
Connor Sheehan c1c2126fce Bug 1835962: add support for `mach try` to submit to Lando r=zeid,mach-reviewers,ahochheiden
Add support for submitting stacks of commits to Lando for queueing
on Try, instead of pushing to hg.mozilla.org directly. This patch
implements the Device Code Authorization flow for Auth0, simple changeset
discovery and patch gathering, and submissing to Lando via HTTP POST.

Add a `try.txt` virtualenv site that contains packages from the common
virtualenv as well as the `auth0-python` package for verifying Auth0
JWTs. Use this new virtualenv for `mach try` and related subcommands.
Add a `--push-to-lando` flag that controls whether the push will be made
via the Lando API or using the VCS to hg.mozilla.org directly.

Create a `lando.py` module in the `tryselect` package that handles the
details around submitting to Lando. Authentication is handled by the
Device Code Authorization flow, and the returned access token is saved
to the mozbuild state directory. Auth0 details are added to the `.lando.ini`
file in the repo root, and a `LANDO_TRY_USE_DEV` environment variable can
be set to control submitting to the prod or dev Lando environments.
This module also includes patch stack gathering and discovery via `mozversioncontrol`.

mozversioncontrol's `Repository` subclass is extended with helper functions
to gather patch files from Mercurial and Git. We also add a `try_config_commit`
context manager that creates a temporary commit to hold try syntax commit
messages and/or a `try_task_config.json` file, which is removed from version
control on submission.

The `mach try` cram tests now use a separate virtualenv that must be built
before running, causing unexpected output in the tests. Run `mach try --help`
in the test setup to force the virtualenv to be built before running any
test.

`mach try chooser` would previously install packages for a small web application
from a `requirements.txt` file when run. Install these via the new `try.txt`
site environment instead. The required dependencies are also added to the
`python-test.txt` site since they will cause some tests to fail due to the
missing dependencies.

Differential Revision: https://phabricator.services.mozilla.com/D187641
2023-10-02 14:31:43 +00:00
..
bloatview
browsertime Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato 2023-09-06 16:14:30 +00:00
clang-tidy Bug 1855848 - fix infra bust for static-analysis autotest. r=sylvestre DONTBUILD 2023-09-29 22:01:46 +00:00
code-coverage Bug 1854783 - Remove some unnecessary ESLint globals and exports declarations. r=mossop,extension-reviewers,robwu 2023-09-25 11:11:54 +00:00
compare-locales
crashreporter Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato 2023-09-06 16:14:30 +00:00
esmify Bug 1774888 - Remove XPCOMUtils.defineLazyModuleGetter. r=arai 2023-10-02 09:48:01 +00:00
fuzzing Bug 1853933 - Make IPCFuzzController less verbose. r=truber 2023-09-21 08:26:27 +00:00
github-sync Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato 2023-09-06 16:14:30 +00:00
jprof Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato 2023-09-06 16:14:30 +00:00
leak-gauge Bug 1826063 - Automatic fixes for enabling Prettier on production xhtml and html files. r=mossop,webdriver-reviewers,webcompat-reviewers,geckoview-reviewers,extension-reviewers,settings-reviewers,application-update-reviewers,credential-management-reviewers,fxview-reviewers,sgalich,nalexander,devtools-reviewers,sclements,denschub,robwu,owlish 2023-05-20 12:26:56 +00:00
lint Bug 1835962: add support for `mach try` to submit to Lando r=zeid,mach-reviewers,ahochheiden 2023-10-02 14:31:43 +00:00
moztreedocs Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato 2023-09-06 16:14:30 +00:00
performance Bug 1830181 - Add PerfStats for DocAccessible. r=morgan 2023-09-13 19:28:00 +00:00
phabricator Bug 1831442 - Fix an issue with `./mach install-moz-phab` on `Ubuntu 23.04` and `Debian 12` r=firefox-build-system-reviewers,glandium 2023-09-09 02:24:40 +00:00
power
profiler Bug 1853245 - Migrate .ini to .toml browser-chrome (batch 7.75). r=aryx,extension-reviewers,application-update-reviewers,credential-management-reviewers,places-reviewers,profiler-reviewers,nalexander,canaltinova,Standard8,robwu,sgalich 2023-09-29 20:40:10 +00:00
quitter
rb Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato 2023-09-06 16:14:30 +00:00
rewriting Bug 1816519 - implement getAuthenticatorData for AuthenticatorAttestationResponse. r=keeler,webidl,emilio,smaug 2023-08-31 22:56:50 +00:00
rusttests
sanitizer/docs Bug 1851555: Add line for PATH env var to Windows ASan build instructions mozconfig. r=glandium DONTBUILD 2023-09-12 11:54:07 +00:00
tryselect Bug 1835962: add support for `mach try` to submit to Lando r=zeid,mach-reviewers,ahochheiden 2023-10-02 14:31:43 +00:00
update-packaging Bug 1837939 - update-packaging: quote filenames that can contain spaces. r=releng-reviewers,bhearsum DONTBUILD 2023-06-12 13:14:53 +00:00
update-programs Bug 1786490 - reformat the tree using black 23.3.0 r=sylvestre,webdriver-reviewers,taskgraph-reviewers,whimboo,jmaher,ahal,perftest-reviewers,geckoview-reviewers,afinder,m_kato 2023-09-06 16:14:30 +00:00
update-verify Bug 1836851 - [update-verify] Fix regression in compare-directories, r=releng-reviewers,hneiva 2023-06-05 20:39:06 +00:00
vcs
mach_commands.py
moz.build Bug 1842244 - driveby: update metadata for documentation files, r=sylvestre DONTBUILD 2023-07-21 10:31:57 +00:00