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

6399 Коммитов

Автор SHA1 Сообщение Дата
Gijs Kruitbosch b2dee52fd3 Bug 1663879 - migrate fullscreen and pointer lock warnings to fluent, r=jaws,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D89675
2020-09-12 20:09:26 +00:00
Razvan Maries e3020a8f57 Backed out 2 changesets (bug 863474) for build bustages on search.properties. CLOSED TREE
Backed out changeset 5f00eaaa4e2d (bug 863474)
Backed out changeset 42d66b1f9b82 (bug 863474)
2020-09-12 19:41:12 +03:00
Mark Banner d1abbfeaf8 Bug 863474 - Centralise OpenSearch install failure prompts into SearchUIUtils. r=daleharvey,flod
Differential Revision: https://phabricator.services.mozilla.com/D89879
2020-09-12 14:57:34 +00:00
Mitchell Hentges 82521cb272 Bug 1663838: Refresh pacman before installing Arch Linux deps r=firefox-build-system-reviewers,rstewart
In bootstrap, pacman should ensure its database is up-to-date.
Otherwise, when installing packages, pacman will slowly query every
mirror when attempting to download an out-of-date package.

Differential Revision: https://phabricator.services.mozilla.com/D89958
2020-09-11 19:20:51 +00:00
Tarek Ziadé 3021e5b216 Bug 1662706 - add a fuzzy runner r=sparky,necko-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D89123
2020-09-11 08:13:27 +00:00
Tarek Ziadé 9c8bb6e963 Bug 1663417 - make scriptinfo compatible with xpcshell tests r=sparky
Differential Revision: https://phabricator.services.mozilla.com/D89372
2020-09-10 23:15:09 +00:00
Tarek Ziadé 0bf97a3ebc Bug 1661809 - use mach lint r=sparky
Removed our custom linter calls and use mach lint

Differential Revision: https://phabricator.services.mozilla.com/D89703
2020-09-10 23:15:07 +00:00
Narcis Beleuzu f837964009 Backed out 3 changesets (bug 1661809, bug 1662706, bug 1663417) for SM bustages. CLOSED TREE
Backed out changeset 96e69574f7ee (bug 1662706)
Backed out changeset a584b11a503a (bug 1663417)
Backed out changeset 655ce94f20f3 (bug 1661809)
2020-09-11 01:50:09 +03:00
Mitchell Hentges 565f11ba0a Bug 1651424: Report build telemetry using Glean r=firefox-build-system-reviewers,Dexter,rstewart
In addition to the existing build telemetry, also gather the stats and
report with Glean. This new telemetry is reported in tandem with the existing
telemetry to allow testing and confidence before a full roll-out.

Additionally, Glean isn't compatible with Python 2, so the new telemetry only runs
on Python 3 mach commands.

Differential Revision: https://phabricator.services.mozilla.com/D83572
2020-09-09 23:51:57 +00:00
Mihai Alexandru Michis b1839ed65d Merge mozilla-central to autoland a=merge on a CLOSED TREE 2020-09-10 18:15:20 +03:00
Mihai Alexandru Michis 8b42ade55d Merge autoland to mozilla-central. a=merge 2020-09-10 18:12:07 +03:00
Csoregi Natalia 7909e86bd0 Backed out 2 changesets (bug 1663755, bug 1663786) for causing bustages in Bug 1664106. a=backout
Backed out changeset 972df2adcffa (bug 1663786)
Backed out changeset f97f4ae8e721 (bug 1663755)
2020-09-10 15:50:24 +03:00
Mitchell Hentges 76523a630e Bug 1651424: Bump glean version to 32.3.1 r=firefox-build-system-reviewers,rstewart
32.3.0 was missing Python wheels for macOS.

Differential Revision: https://phabricator.services.mozilla.com/D89641
2020-09-09 22:28:16 +00:00
Tarek Ziadé 282632b3a0 Bug 1662706 - add a fuzzy runner r=sparky,necko-reviewers,rstewart DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D89123
2020-09-10 11:36:29 +00:00
Tarek Ziadé 2e207a9e80 Bug 1663417 - make scriptinfo compatible with xpcshell tests r=sparky DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D89372
2020-09-10 11:18:26 +00:00
Tarek Ziadé fa3f23fe40 Bug 1661809 - use mach lint r=sparky DONTBUILD
Removed our custom linter calls and use mach lint

Differential Revision: https://phabricator.services.mozilla.com/D89703
2020-09-10 14:00:15 +00:00
Mitchell Hentges c3ed90120c Bug 1664058: Bootstrap should prompt for telemetry r=firefox-build-system-reviewers,rstewart
Bootstrap should always prompt to opt into telemetry if it hasn't been
opted in/out yet.

Differential Revision: https://phabricator.services.mozilla.com/D89678
2020-09-09 22:35:14 +00:00
Ricky Stewart c5875f6639 Bug 1663786 - Remove "copy" support from `virtualenv` handling r=ahal
This is unused.

Differential Revision: https://phabricator.services.mozilla.com/D89509
2020-09-09 18:15:46 +00:00
Ricky Stewart be7fcb68ee Bug 1663755 - Remove `inherit-from-parent-environment` implementation r=ahal
This was originally meant to allow `virtualenv`s to use packages from a parent Python environment without having to re-install them. This turned out to not pan out as we would have liked, so we're going another way to solve the same problem. Bug 1660351 walked back a bunch of this logic; this patch deletes the rest of it.

Differential Revision: https://phabricator.services.mozilla.com/D89492
2020-09-09 18:15:28 +00:00
Myeongjun Go b53336d5a4 Bug 1653326 - [perfdocs] Add documentation about individual mozperftest tests to perfdocs r=sparky,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D86488
2020-09-09 17:58:39 +00:00
Mike Hommey 3c3839d4b3 Bug 1664083 - Remove support for external source directories. r=nalexander
It was there for comm-central, and hasn't been used since bug 1479904.

Differential Revision: https://phabricator.services.mozilla.com/D89691
2020-09-10 03:44:30 +00:00
Nicholas Nethercote 0f7f399e93 Bug 1426269 - Change the `slashslash` filter in preprocessor.py. r=glandium
This commit does the following.

- Renames `slashslash` as `dumbComments`. As a result, it now comes before
  `emptyLines` in alphabetical ordering, which means that if you apply both
  `dumbComments` and `emptyLines`, lines that contain only comments will be
  fully removed.

  (I contemplated changing the filter ordering to match the order specified,
  rather than using alphabetical ordering, but that was more invasive and not
  obviously better.)

- Changes `dumbComments` so it only applies if the comment is at the start of
  the line (with optional leading whitespace). This is so it can be used with
  prefs files, which contain lines like `pref("foo", "https://mozilla.org");`
  where the `//` must not be treated as a comment.

Note that `slashslash` wasn't being used anywhere.

Depends on D88240

Differential Revision: https://phabricator.services.mozilla.com/D88242
2020-09-08 23:04:51 +00:00
Nicholas Nethercote 1aa3d23435 Bug 1426269 - Remove the `spaces` filter from preprocessor.py. r=glandium
It's not used, probably because it's pretty strange and hard to imagine using
safely. (Stripping leading and trailing space could be useful, but collapsing
sequences of spaces? Hmm.)

Differential Revision: https://phabricator.services.mozilla.com/D88240
2020-09-08 06:54:04 +00:00
David Major a9939a7f60 Bug 1658632 - Don't strip d3dcompiler_47.dll r=glandium
The llvm-strip from clang-11 complains about this file. This file doesn't really interest us anyway -- it's imported from elsewhere -- so just avoid it.

Differential Revision: https://phabricator.services.mozilla.com/D89491
2020-09-08 21:46:32 +00:00
Ricky Stewart c53f2cc191 Bug 1662893 - Refactor `bootstrap` to reflect that the `~/.mozbuild` state directory and a local checkout are both mandatory r=glandium
`bootstrap` is written in such a way that we don't necessarily assume the existence of either the global state directory (`~/.mozbuild`) or a local checkout of `mozilla-central`. The independence from `~/.mozbuild` is a design decision that may have been appropriate at some point, but today it's arguably useless to continue executing `bootstrap` without a global state directory (we install a bunch of build dependencies there, as well as the `mach` `virtualenv`s that are needed for running non-`bootstrap` `mach` commands after bug 1656993). The independence from a local checkout is an artifact of the old design of `python/mozboot/bin/bootstrap.py`, which is no longer necessary as of bug 1647792.

With that in mind, 1) throw errors if we can't create the global state directory or find the topsrcdir, and 2) remove all existing conditionals of the form "if the global state directory exists" or "if the root of the checkout exists" since these conditions are always going to be true in practice.

Differential Revision: https://phabricator.services.mozilla.com/D89220
2020-09-08 16:33:06 +00:00
Ricky Stewart ed81bffdb9 Bug 1662775 - Refactor logic to locate `mach` `virtualenv`s r=glandium
This will be found in a couple places, so we might as well make a helper function. For symmetry put it in the same file where we keep the helper function to locate the `state_dir`.

Differential Revision: https://phabricator.services.mozilla.com/D89156
2020-09-08 08:41:03 +00:00
Andrew Halberstadt fc6e2af3a2 Bug 1662867 - [mach] Fix busted |mach settings| command, r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D89206
2020-09-02 20:14:35 +00:00
Sylvestre Ledru da34b6a58e Bug 1661514 - Reformat some python files with black 20.8b1 r=rstewart
# ignore-this-changeset

Depends on D88711

Differential Revision: https://phabricator.services.mozilla.com/D88712
2020-09-07 14:05:10 +00:00
Mihai Alexandru Michis 7fb69eef2a Backed out changeset 71edbf86ce85 (bug 1662855) for causing xpcshell failures.
CLOSED TREE
2020-09-03 01:56:09 +03:00
Ricky Stewart 59ed932290 Bug 1662856 - Delete `MercurialNativeRevisionFinder` and associated test r=dmajor
Bug 1659539 caused the unit tests of this class to suddenly start running on Linux; it failed with a type error that suggests this test has never really properly worked, at least not with the version of Mercurial we're using in CI (`unsupported changeid '0' of type <type 'unicode'>`). The class itself isn't used anywhere besides these tests, so just delete the entire class.

Differential Revision: https://phabricator.services.mozilla.com/D89205
2020-09-02 21:00:23 +00:00
Ricky Stewart 204ea8222e Bug 1659542 - Remove support for `pipenv` in `mozilla-central` r=mhentges,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D89192
2020-09-02 19:55:57 +00:00
Kris Maglione d2863ca956 Bug 1662855: Remove defunct httpd.manifest file. r=mccr8,necko-reviewers,valentin
The manifest file hasn't actually done anything since XPT definitions were
moved to the libxul binary, and now just generates warnings in local builes.

Differential Revision: https://phabricator.services.mozilla.com/D89197
2020-09-02 20:14:12 +00:00
Ricky Stewart 4c46edb8ed Bug 1660559 - In `mach bootstrap`, initialize the `mach` `virtualenv`s early and run `mach artifact` with them r=mhentges,ahal
`mach artifact` has a dependency on `zstandard`, which is installed in the `mach` `virtualenv`s, so we have to run `mach artifact` with the correct `virtualenv`. Also create the `virtualenv`s earlier in the process to account for this.

This all has a dependency on the existence of a checkout (which has the `mach` script with all its dependencies on everything else), but after bug 1647792 that's not a concern.

Differential Revision: https://phabricator.services.mozilla.com/D87920
2020-09-02 17:02:12 +00:00
Ricky Stewart 792b74bafb Bug 1662819 - Refactor `virtualenv` script path locating logic r=mhentges,froydnj
The ability to get the path to the Python executable from a given `virtualenv` location is generally useful outside the context of all the extra stuff a `VirtualenvManager` provides, so refactor it out into a lighter-weight helper class.

Differential Revision: https://phabricator.services.mozilla.com/D89175
2020-09-02 18:52:58 +00:00
Ricky Stewart 4c6985333a Bug 1659539 - [python-test] Remove '--python' and stop using pipenv to manage virtualenvs r=ahal
Pipenv is heavy weight and overkill for the purposes it is being used. We'd like to remove it from the tree and |mach python-test| was one of the last remanining use cases.

Remove the `--python` command-line argument as a result. Users who wish to run unit tests with Python 2 can do `MACH_PY2=1 ./mach python-test ...` or `python2 ./mach python-test ...`.

Also update a few unit tests that would break otherwise in the presence of this change.

There were a couple lines in the `setup.py` for `mozlog` that were problematic for tests and was resulting in errors due to the `mozlog` plugin being loaded by `pytest` more than once. We just delete those lines and bump up the major version number of the package to fix it.

Differential Revision: https://phabricator.services.mozilla.com/D88296
2020-09-02 17:05:24 +00:00
Ricky Stewart 0afe96bbf7 Bug 1662793 - Set `python` appropriately in `gyp_reader` r=froydnj
Otherwise `gyp` can choose incorrectly when trying to figure out which Python to use to run its internal scripts, which can manifest as test failures in certain circumstances.

Differential Revision: https://phabricator.services.mozilla.com/D89165
2020-09-02 16:17:21 +00:00
Ricky Stewart 6d5c9de81b Bug 1662632 - Fix `UnboundLocalError` due to undefined variable `have_clone` in `mach bootstrap` r=froydnj
This consolidates the `have_clone` logic in one place unconditionally. After bug 1647792 we're deprecating the use case where `bootstrap` is run without a clone, so that's not a problem.

In reality the whole `have_clone` thing isn't necessary any more (`have_clone` is always going to be `True` in practice), but I'll save that for a bigger refactoring.

Differential Revision: https://phabricator.services.mozilla.com/D89152
2020-09-02 14:57:22 +00:00
Yue Zhang 72faa9da2c Bug 1639693 - Allow mach perftest users to provide their own custom tranformer from the command line. r=sparky,tarek
Differential Revision: https://phabricator.services.mozilla.com/D86417
2020-09-01 15:03:32 +00:00
Ricky Stewart 6245dd6daa Bug 1647792 - Standalone `bootstrap.py` script clones before running `mach bootstrap` r=mhentges,froydnj,mhoye
Note that when I refer to "standalone `bootstrap.py`" here, I'm referring to the file `python/mozboot/bin/bootstrap.py` and no other similarly-named file in-tree.

The current design, where standalone `bootstrap.py` downloads a small portion of the `mozilla-central` repo and then works through all the `bootstrap` logic, performing a clone in the middle of the `bootstrap` process, has some deficiencies, namely:

1. Refactoring code that is shared between the `bootstrap` logic and the mainline `mach` logic is, if not impossible, more difficult than it needs to be, since standalone `bootstrap.py` needs to download a set of files that bootstraps a build environment perfectly with no other dependencies in `mozilla-central`. As a result we have some [duplicated or redundant code](https://searchfox.org/mozilla-central/rev/c6676771df58c6e0098574bc6b11517acbf264cf/python/mozboot/mozboot/base.py#349) and some stuff that has been [refactored into the `mozboot` directory](https://searchfox.org/mozilla-central/source/python/mozboot/mozboot/util.py) irrespective of whether it actually makes sense to go there (see bug 1649850).

2. Since `mach bootstrap` has access to the entire `mozilla-central` environment, but the (much less frequently exercised) standalone `bootstrap.py` script does *not*, this can lead people to write patches that work fine in `mach bootstrap` but which regress standalone `bootstrap.py`. Furthermore, testing `bootstrap` patches with standalone `bootstrap.py` is difficult. So this is a not infrequent source of regressions; bugs 1652736 and 1643158 are recent examples. Furthermore, typically these regressions are "fixed" by adding more code duplication or by replacing battle-tested frequently-used libraries (either `m-c`-internal or third-party) with less robust bespoke code.

3. Issue (2) is avoidable if people are sufficiently critical during code review, but at *best*, this is a weird extra level of mental overhead that we need to keep in mind only for `bootstrap` patches.

This patch preserves back-compatibility and the validity of existing documentation by factoring out all the logic to clone `mozilla-central` into standalone `bootstrap.py` directly, and cloning *before* calling into `mach bootstrap` directly. This gives us only one official entry point into the bootstrapper, namely, `mach bootstrap`.

There are a couple concrete implications of this change:

1. Now, the clone happens before any other interesting work happens, so people may have to wait ~an hour before actually beginning to engage with the `bootstrap` wizard. While it's arguably slightly less convenient, I'm not sure it matters enough that we should block this patch or a similar one on it.

2. The `hg`/`git` configuration step now happens *after* the clone rather than before it. Looking at what the `hg` and `git` configuration wizards actually do today, I don't think this matters either (all of the configurations can easily happen after cloning the repo).

Another note: `bootstrap` installs `git-cinnabar` to the `.mozbuild` state directory. We could have duplicated all of that logic over to standalone `bootstrap.py`, but it's non-trivial and I didn't think that made any sense, so instead we have standalone `bootstrap.py` download a temporary version and use it for the initial clone if necessary.

Differential Revision: https://phabricator.services.mozilla.com/D85058
2020-09-01 18:42:36 +00:00
Ricky Stewart 013bce3e16 Bug 1662530 - Update minimum required `hg` version in `bootstrap` r=mhentges,dmajor
This brings it up-to-date with the minimum allowable version in `version-control-tools`; these two versions should be equal to each other, as the [comment in the source code](4b0de666d1/hgext/configwizard/__init__.py (l59)) suggests. Also add a similar comment in this file to prevent the likelihood of a mismatch going into the future.

Differential Revision: https://phabricator.services.mozilla.com/D89022
2020-09-01 18:49:45 +00:00
Ricky Stewart df4289ddcc Bug 1662130 - Walk back new `inherit-from-parent-environment` logic in `virtualenv` handling r=ahal
This logic is meant to expose packages from a globally-installed Python to be used by the in-`objdir` `virtualenv`s, so for example we don't have to figure out how to install `zstandard` (or other Python packages with native code that may or may not have prebuilt wheels for any given platform) in those `virtualenv`s. Bug 1660351 augmented that logic to work within the requirements of bug 1660353. This worked mostly, but is causing builds to unconditionally break on Arch Linux, caused a couple test failures, and in general is just introducing other weird behaviors downstream, and issues with the resultant `PYTHONPATH`s are hard to diagnose and fix.

In the long-term we'll have to permanently solve the `zstandard` problem and pave the way for other Python packages with native code as well, but that's not an urgent need.

The ultimate goal is to completely remove `inherit-from-parent-environment`, but we can't do that until bug 1659539 is solved.

Partially reverts bugs 1660351. Entirely reverts bug 1660353, restoring that file to as it was before that patch.

Differential Revision: https://phabricator.services.mozilla.com/D89001
2020-09-01 16:54:27 +00:00
Cristina Coroiu 8eaafae8fd Backed out 2 changesets (bug 1661514) for lint failure on a CLOSED TREE
Backed out changeset 8e58c88f756b (bug 1661514)
Backed out changeset aef89f9a8031 (bug 1661514)
2020-09-01 19:34:12 +03:00
Sylvestre Ledru 5ee2fbd7cb Bug 1661514 - Reformat some python files with black 20.8b1 r=rstewart
# ignore-this-changeset

Depends on D88711

Differential Revision: https://phabricator.services.mozilla.com/D88712
2020-08-31 17:06:22 +00:00
Florian Quèze 2bfae616c0 Bug 1547769 - add --packaged parameter on |mach run| to run a packaged build, r=andi
Differential Revision: https://phabricator.services.mozilla.com/D88620
2020-08-31 05:31:29 +00:00
Gregory Mierzwinski 756d14a209 Bug 1662278 - Simplify mozperftest metric names. r=tarek
This patch adds two new options to mozperftest. The --simplify-names argument can be provided to enable simplification of metric names and the --simplify-exclude option allows users to select which metrics to skip in the simplification. A bug relating to setting the default of a list option is also fixed here.

Differential Revision: https://phabricator.services.mozilla.com/D88917
2020-09-01 15:29:41 +00:00
Gregory Mierzwinski b2e2d7432f Bug 1662278 - Fix test_visualmetrics local linux failure. r=tarek
This fixes a local failure in mozperftest by mocking the find_node_executable function in the visual-metrics tests. It is not needed for those tests.

Depends on D88915

Differential Revision: https://phabricator.services.mozilla.com/D88916
2020-09-01 14:57:19 +00:00
Gregory Mierzwinski ae98f6130b Bug 1662278 - Pin black to version 19.10b0. r=tarek
Differential Revision: https://phabricator.services.mozilla.com/D88915
2020-09-01 15:09:44 +00:00
Gregory Mierzwinski 7101f264ef Bug 1650879 - Upgrade browsertime to v9.4.0. r=tarek,perftest-reviewers,Bebe
Differential Revision: https://phabricator.services.mozilla.com/D88324
2020-09-01 14:01:18 +00:00
Mitchell Hentges 4f7b73a741 Bug 1651424: Bump glean version to 32.3.0 r=firefox-build-system-reviewers,rstewart
Improves glean performance.
Prior to this change, using Glean adds ~500ms to each `mach` run.
After this change, using Glean adds ~200ms to each `mach` run.

Differential Revision: https://phabricator.services.mozilla.com/D88691
2020-08-31 16:06:18 +00:00
Mike Hommey 95629a4c24 Bug 1661635 - Make windows/!windows and python2/python3 entries in virtualenv.txt non-optional. r=firefox-build-system-reviewers,rstewart
Except when optional is actually specified.

Differential Revision: https://phabricator.services.mozilla.com/D88527
2020-08-28 14:49:00 +00:00