Mock l10n-changesets.json instead of assuming it always includes zh-TW,
which it typically does not for staging releases.
Differential Revision: https://phabricator.services.mozilla.com/D189932
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
D180501 made the original change that this patch undoes. An earlier
change in that stack inadvertently silently disabled Telemetry, which
hid this issue.
The problem is that `glean` (which we optionally install in the `mach`
site also needs `jsonschema` (and `jsonschema` depends on `pyrsistent`
and `pkgutil_resolve_name`). Since our vendored version was no longer
specified in the `mach.txt` site, it pulled a different version
(`4.19.1`) from the vendored version (`4.17.3`) which causes issues in
the `wpt` site.
Since glean explicitly needs `jsonschema` it never should have been
taken out of the `mach` site, so this patch corrects that mistake.
Differential Revision: https://phabricator.services.mozilla.com/D189553
Changes in Bug 1695312 made it so the actual command site is activated
much sooner, as such, at this point in the program execution, any of the
'Mach' sites can be active, so we should check against all of them.
In the past, the 'mach' site was the only one that could be active at
this time, so it was the only one that was needed to be checked for.
Differential Revision: https://phabricator.services.mozilla.com/D189290
This adds moz-toggle.mjs as a module to load in the main newtab document
(cached or otherwise), and then converts the existing toggles to use
moz-toggle.
This also required me to bring in tokens-brand.css to get the right
colours for the toggle to appear.
There was some markup in the original panel that had the label exist outside
of the toggle, and some CSS grid styling to make it appear alongside it.
Thankfully, moz-toggle takes care of a lot of that for us, so I was able
to get rid of the external label element and the associated styles.
Differential Revision: https://phabricator.services.mozilla.com/D187716
This adds moz-toggle.mjs as a module to load in the main newtab document
(cached or otherwise), and then converts the existing toggles to use
moz-toggle.
This also required me to bring in tokens-brand.css to get the right
colours for the toggle to appear.
There was some markup in the original panel that had the label exist outside
of the toggle, and some CSS grid styling to make it appear alongside it.
Thankfully, moz-toggle takes care of a lot of that for us, so I was able
to get rid of the external label element and the associated styles.
Differential Revision: https://phabricator.services.mozilla.com/D187716
This adds moz-toggle.mjs as a module to load in the main newtab document
(cached or otherwise), and then converts the existing toggles to use
moz-toggle.
This also required me to bring in design-tokens-brand.css to get the right
colours for the toggle to appear.
There was some markup in the original panel that had the label exist outside
of the toggle, and some CSS grid styling to make it appear alongside it.
Thankfully, moz-toggle takes care of a lot of that for us, so I was able
to get rid of the external label element and the associated styles.
Differential Revision: https://phabricator.services.mozilla.com/D187716
Update `aiohttp` to version 3.8.5 and `requests` to version 2.31.0,
and vendor their respective dependencies. Add all the new dependencies
to the various required site virtualenv requirements files.
Differential Revision: https://phabricator.services.mozilla.com/D188904
For some reason, it's missing in recent OpenSuSE tumbleweed docker
images, but also is not necessarily available as an "awk" package on
other distros, so limit ourselves to OpenSuSE.
Notably, on Debian, "awk" is a virtual package provided by a set of
packages.
Differential Revision: https://phabricator.services.mozilla.com/D188698