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

6372 Коммитов

Автор SHA1 Сообщение Дата
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
Ricky Stewart 32252b6aa5 Bug 1660353 - Remove subprocessing into global Python 3 in `symbols_archive.py` r=mhentges,froydnj
This was always a temporary hack because getting `zstandard` installed into the `objdir` `virtualenv`s was impossible. With the changes made in bug 1656993, this is possible now, so we can remove all this.

Differential Revision: https://phabricator.services.mozilla.com/D87809
2020-08-21 15:04:24 +00:00
Ricky Stewart 408991e871 Bug 1660351 - Tweak `inherit-from-parent-environment` implementation in `virtualenv.py` r=ahal
The intended behavior of `inherit-from-parent-environment` is that the packages from the parent Python environment are available to the sub-`virtualenv`. The implementation of that behavior thus far has been around "site directories", the idea being that custom (non-stdlib) packages are likely to be installed in the "site directory". The limitation of this approach is that there's no one location, in practice, where packages are installed, and it's hard to enumerate a static list of all those possible locations across all platforms.

This patch circumvents the issue by ignoring the "site directory" question entirely and just looking at `sys.path`. If we're inheriting from the parent environment when creating a `virtualenv`, we just ask the parent Python what its `sys.path` is and configure the `virtualenv`'s `sys.path` on startup.

Differential Revision: https://phabricator.services.mozilla.com/D87808
2020-08-27 21:48:06 +00:00
Ricky Stewart 8ae4bd16ba Bug 1661762 - strengthen `recognize_repo_paths` checks in `files.py` and `hg.py` r=mhentges,froydnj
We `normpath()` the `_root` path when we save it, but the input `path` to `get()` is not necessarily also normalized. Normalizing it prevents unnecessary test failures.

Differential Revision: https://phabricator.services.mozilla.com/D88635
2020-08-28 19:19:56 +00:00
Francesco Lodolo (:flod) cbefc75135 Bug 1661640 - Add Fluent migration for bug 1660259, r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D88533
2020-08-28 16:20:50 +00:00
Mitchell Hentges e8d0020e8d Bug 1660396: Removes no-op path operation r=firefox-build-system-reviewers,glandium
There's a usage of `mozpath.join(...)` found while investigating
wildcard-management. Since the return value isn't used here, and the
parameters here aren't mutated, this function call doesn't do anything.

Differential Revision: https://phabricator.services.mozilla.com/D88508
2020-08-28 04:50:02 +00:00
Mike Hommey a34742d98f Bug 1620133 - Allow generated file rules to run in parallel in a given directory. r=firefox-build-system-reviewers,rstewart
Bug 1645986 solved the problem for most generated files by moving their
rules to the top-level, but we're going to add rules that will end up in
subdirectories, so we have to solve the same problem again, in the
subdirectories.

Differential Revision: https://phabricator.services.mozilla.com/D88389
2020-08-28 01:58:48 +00:00
Nick Thomas ffceb1c957 Bug 1653476 - import partner repack script into tree and convert to py3, r=aki
Differential Revision: https://phabricator.services.mozilla.com/D88374
2020-08-27 22:19:32 +00:00
Nick Thomas e9938dc1de Bug 1630809 - generate partner attribution task r=aki
A single task is created to do all partner attributions. The partner_attribution transform processes the configuration into an environment variable for the tools/attribution/attribute.py script to use. This is quite verbose so a large number of configurations may cause problems.

Applies the same priority modification to attribution tasks as to partner repacks, to not impede the main part of the graph.

Differential Revision: https://phabricator.services.mozilla.com/D87729
2020-08-27 22:19:36 +00:00
Mitchell Hentges d0c3095f77 Bug 1660396: RecursiveMake should support wildcards with reltargets r=firefox-build-system-reviewers,glandium
Relative targets (e.g.: on top of "dist/bin") were being ignored when
the target path had a wildcard.

Differential Revision: https://phabricator.services.mozilla.com/D88361
2020-08-27 01:10:04 +00:00
Butkovits Atila b8629b8d1e Backed out 9 changesets (bug 1630809, bug 1653476) for Gecko Decision failures. CLOSED TREE
Backed out changeset 02a27bfc76dd (bug 1653476)
Backed out changeset afb5df61943a (bug 1630809)
Backed out changeset 04628c1f98e9 (bug 1630809)
Backed out changeset 4b4d50e0b1bf (bug 1630809)
Backed out changeset 2fa2deb5c993 (bug 1630809)
Backed out changeset d6652114cac3 (bug 1630809)
Backed out changeset ad5e4caa3291 (bug 1630809)
Backed out changeset d3d841cd14f3 (bug 1630809)
Backed out changeset b3746502e227 (bug 1630809)
2020-08-28 01:15:03 +03:00
Nick Thomas 9c0467f88b Bug 1653476 - import partner repack script into tree and convert to py3, r=aki
Differential Revision: https://phabricator.services.mozilla.com/D88374
2020-08-27 14:56:47 +00:00
Nick Thomas c5e9d12304 Bug 1630809 - generate partner attribution task r=aki
A single task is created to do all partner attributions. The partner_attribution transform processes the configuration into an environment variable for the tools/attribution/attribute.py script to use. This is quite verbose so a large number of configurations may cause problems.

Applies the same priority modification to attribution tasks as to partner repacks, to not impede the main part of the graph.

Differential Revision: https://phabricator.services.mozilla.com/D87729
2020-08-27 05:46:51 +00:00
Mike Hommey 9851f58c4b Bug 1661391 - Read the output from setup.py as unicode. r=froydnj
There are various problems happening when dealing with the output from
setup.py during virtualenv setup, all of which step from the process
command output not being a unicode string in python.

As this code is still used to setup python2 virtualenv, we need to use
the backwards-compatible universal_newlines=True trick.

Differential Revision: https://phabricator.services.mozilla.com/D88372
2020-08-27 12:27:54 +00:00
Ricky Stewart 1989d12e47 Bug 1646794 - Add basic infrastructure for collecting data on the performance of individual build actions r=mhentges,froydnj
This, hopefully, begins to address an ongoing global problem where we have few, if any, insights into the performance of individual build tasks (compilations, calls into Python scripts, etc.) At most we have aggregated statistics about how long tiers last, combined with `sccache` aggregates across the entire build (which don't cover non-compilation tasks). This has a few implications:

1. It's impossible to identify bottlenecks, except by going out of your way to notice and reproduce them. e.g. no one, to my knowledge, was aware that `make_dafsa.py` was a bottleneck until someone happened to notice and report it in bug 1629337. We could have systems that automatically detect this sort of thing, or at least that make it easier to do so than by CTRL-C'ing in the middle of the build several times to try to reproduce the problem.

2. It's impossible to detect regressions, unless the regression is so pronounced and severe that it has an immediate impact on the overall build time and triggers build time alerts.

3. It's impossible to identify that you have *fixed* regressions, except by doing ad-hoc timing measurements by building individual `make` targets. This is error-prone and annoying.

Here we propose a low-friction system wherein individual build tasks log their build own perf info. For now, that's a write to `stdout` consisting of the string `BUILDTASK ` followed by a simple JSON object with a start time, end time, the `argv` of the task, and an additional `"context"` key (I anticipate this could be used to annotate the task with relevant per-task for later aggregation, for example: was this an `sccache` cache hit or not? For now, it's empty everywhere). The build controller then collects this data, validates it, and writes out the entire list of build tasks as a JSON file after the build has completed, similarly to what we already do with `build_resources.json`. We already parse some `make` output to do stuff like tracking when we switch tiers, so this isn't a huge architectural shift or anything.

In my opinion this "should" happen at the build system, or `make`, level, but `make` doesn't expose anything resembling this information to my knowledge, so this has to be implemented outside of `make`. One could implement something like this at the `sccache` level but that doesn't touch anything but C/C++/Rust compilation tasks; an ideal solution would support other generic build tasks. We could also fork `make` to add this feature ourselves, but for several reasons I don't think that's tractable. :)

Of course, this approach has downsides:

1. We depend on parsing the `stdout` of `make`, and processes can unfortunately sometimes trample on each other, leading to data loss for individual build tasks occasionally. This is a necessary limitation of the model to my knowledge, and I don't know that it can be fixed generally. In my testing, not much data tends to be lost usually.

2. Dumping arbitrary data to `stdout` isn't always possible or desirable. If you're not careful about it this can also result in noisier-than-necessary tasks, especially when those tasks are not invoked by a parent process that knows how to handle the special `BUILDTASK` lines.

3. This data is raw enough where aggregation is not completely trivial.

4. This functionality has to be added for any new kind of build task whose performance we'd like to track; it doesn't come "for free" due to not being able to be implemented at the build system level.

5. The data isn't awfully small due to the `argv`'s (at this point, not nearly big enough where we need to be concerned about it IMO, but maybe that will change in the future?)

One can imagine a couple other architectures that could avoid the first two problems, namely: 1) we could use a "real" database that would not dump info to `stdout` and wouldn't lose data, like `sqlite3`; or, 2) we could set up another server, similar to `sccache`, that collects this data from subprocesses and aggregates it, making sure not to lose any along the way. Both of these have enough overhead, in terms of engineering effort or actual impact on latency, where I dont know that they make any sense to even attempt implementing. The remaining continue to be real issues, however.

After this is landed there are a few ways forward. We can start uploading these files as build artifacts in CI to allow us to reason about performance impacts of changes in `central`. We can easily add this functionality to the `sccache` client to start tracking those builds as well. We already have a very simple visualization of build tier timing in `mach resource-usage`; we could join that data against the `BUILDTASK` data to produce a very clear visualization of build bottlenecks, i.e., "why is the `export` tier taking so long", etc.

Differential Revision: https://phabricator.services.mozilla.com/D80284
2020-08-26 22:47:58 +00:00
Mitchell Hentges 4bdf055603 Bug 1661298: Log if artifact fails and Taskcluster URL overridden. r=froydnj
It can be tricky to find out why artifact-lookup fails, especially since
it can be implicitly affected by environment variables.
Log if a known troublemaker (TASKCLUSTER_ROOT_URL) is set when an
artifact-lookup fails.

Differential Revision: https://phabricator.services.mozilla.com/D88304
2020-08-26 17:33:31 +00:00
Tarek Ziadé bbb7d4b5d5 Bug 1659411 - add missing dep r=sparky
Differential Revision: https://phabricator.services.mozilla.com/D88295
2020-08-26 15:47:02 +00:00
Ricky Stewart 6e1d74e077 Bug 1624667 - Allow running `mach jit-test` if tests are disabled r=mhentges,froydnj
This works fine, so no reason not to allow it.

Differential Revision: https://phabricator.services.mozilla.com/D86398
2020-08-26 14:45:52 +00:00
Ricky Stewart 93f6564a24 Bug 1660124 - Don't trample existing `mach` `virtualenv`s if they're already up-to-date r=mhentges,ahal
On some platforms re-creating the `virtualenv`s can be very time-consuming so we'd like to avoid deleting these `virtualenv`s unnecessarily.

Preserve the existing behavior behind a `-f` flag in case unconditionally wiping the `virtualenv`s is what's needed for any reason.

Differential Revision: https://phabricator.services.mozilla.com/D87668
2020-08-25 21:21:19 +00:00
june wilde fcec357fc8 Bug 1661021 - add timestamp to mach vendor --check-for-update output r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D88148
2020-08-25 14:38:41 +00:00
Mike Hommey 922b27a089 Bug 1660880 - Support topobjdir-relative generated files in the faster make backend. r=froydnj
Bug 1659906 removed `../`s from some generated files paths which turned
up not being supported by the faster make backend. Instead of returning
to those relative paths, just support the topobjdir-relative paths
correctly. The new code is derived from the equivalent code in the
recursive make backend.

Differential Revision: https://phabricator.services.mozilla.com/D88097
2020-08-25 01:38:33 +00:00
Ricky Stewart a292021326 Bug 1660566 - Warn in `artifacts.py` if no git revisions are found r=mhentges,froydnj
This generally happens because people cleverly create custom forks of `mozilla-central` that don't have `git-cinnabar` metadata. This is ALWAYS broken in for artifact builds, but people generally don't know that and the error message isn't informative. Instead, identify when this happens as it happens and suggest an immediate, working alternative.

Differential Revision: https://phabricator.services.mozilla.com/D87923
2020-08-24 15:47:56 +00:00
Nick Alexander 9c623dbc86 Bug 1658040 - Part 2: Deny `mach package-multi-locale ...` when it's going to fail. r=froydnj
Depends on D87331

Differential Revision: https://phabricator.services.mozilla.com/D87332
2020-08-18 17:07:47 +00:00
Nick Alexander a1aff5b241 Bug 1658040 - Part 1: Fix local `mach package-multi-locale ...` locally. r=snorp
This succeeded in automation because we [check for `MOZILLA_OFFICIAL`
before invoking `mach` from within
Gradle](https://searchfox.org/mozilla-central/rev/8df04ff073d0fa70f692935c5dcddc0e23cb0117/build.gradle#110-146).
Locally, the check for `AB_CD=multi` in the environment used to catch
this but it's no longer used.  Rather than continue confusion with
`AB_CD=multi make ...` versus `make AB_CD=multi ...`, we'll use the
Gradle-specific environment variable.

Differential Revision: https://phabricator.services.mozilla.com/D87331
2020-08-18 18:13:26 +00:00
Ricky Stewart 64d5f3b565 Bug 1660105 - Allow installing `glean_sdk` to fail in `create-mach-environment`. r=mhentges,froydnj
`glean_sdk` can't currently be installed on Apple Silicon or OpenBSD since Glean can't be built from source. While that issue is being resolved (see bug 1660120), allow this installation to fail.

Differential Revision: https://phabricator.services.mozilla.com/D87667
2020-08-20 16:46:59 +00:00
Mike Hommey 9c86ddc0da Bug 1659411 - Default virtualenv_name to None in MachCommandBase. r=firefox-build-system-reviewers,rstewart
Bug #985141 added this argument without changing all the callers.
Instead of fixing each caller individually, just allow a value not to be
passed in. This is what the underlying MozbuildObject class does
anyways.

Differential Revision: https://phabricator.services.mozilla.com/D87386
2020-08-18 12:41:07 +00:00
Mark Hammond b0ffe6a42b Bug 1659615 - handle the fact Windows Defender might have exclusions on different disks. r=mhentges,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87382
2020-08-18 11:28:50 +00:00
Ricky Stewart 1218762d08 Bug 1659575 - Delete `mach python-safety` r=ahal
There are zero uses of this `mach` command over the past 90 days according to our telemetry. There are no external references to `mach python-safety` in-tree, and indeed if you track the history of the originating bug 1468394, it appears that once the `mach` command was created, none of the follow-up work that was discussed (i.e. running this in CI and triaging failures to appropriate owners) was done over the following 2 years.

If this ever does appear to be useful in the future, we can just resurrect this code from source control.

Differential Revision: https://phabricator.services.mozilla.com/D87351
2020-08-18 14:18:24 +00:00