7614 Commits

Author SHA1 Message Date
Mitchell Hentges
ff4cd170f7 Bug 1759193: Remove workaround for handling local/ in venv paths r=ahal
Now that we're using `sysconfig` instead of `distutils`, our `purelib`
and `platlib` paths should correctly point to python environment paths
without a spurious `local/` component at their roots.

Differential Revision: https://phabricator.services.mozilla.com/D140871
2022-03-16 17:11:23 +00:00
Mitchell Hentges
40e9f7a3d6 Bug 1759585: Avoid hang in ./mach configure r=firefox-build-system-reviewers,nalexander
Depending on the subprocesses created (such as if
`--with-ccache=sccache` is set), `./mach configure` may hang.

More details about why this is is documented in bug 1753797.

The workaround is to lean on the standard library to stream-and-format
output, rather than our existing `ProcessHandler` code.

Though this still streams both `stdout` and `stderr` in real-time, I saw
some ordering differences between the two streams locally. I don't yet
have a reason to believe that these differences are harmful or otherwise
incorrect.

Differential Revision: https://phabricator.services.mozilla.com/D141028
2022-03-16 16:32:25 +00:00
Mitchell Hentges
e9b6ee396c Bug 1759125: Venv site-packages should include both purelib and platlib r=ahochheiden
On newer systems, Python is intelligently populating pure-python and
platform-specific packages into //two different directories//.
Traditionally, these directories would be symlinked - or only one would
exist. However, to support these newer systems (and be better integrated
with Python conventions), we should handle both of these directories
properly.

The solution here is, when calculating the `site_packages_dir()`,
calculate all of them, and handle the multitude at all call sites.
The one use case where we want only one path (the resolving the location
for the `mach.pth` pthfile), I've opted for the `platlib`, since both
pure python dependencies //and// platform-specific dependencies are
referenced by the pthfile.

Differential Revision: https://phabricator.services.mozilla.com/D140870
2022-03-14 20:51:23 +00:00
Mitchell Hentges
8d217e06a3 Bug 1756047: When creating Mach venv in CI, put it in $WORKSPACE r=ahal
I'm guessing that the reason we haven't been building the Mach
virtualenv in CI so far is because:
* The default location in `~/.mozbuild` may not be cleared between jobs
* There's a performance cost to `pip install`-ing packages, especially
  if they're not needed
* In the past, it was tricky to have some jobs use a Mach virtualenv and
  others not.

This led to weird workarounds where a virtualenv would be created,
populated, then masqueraded as the "system Python" so that Mach would
be able to run with access to its dependencies without needing to
"create a Mach virtualenv".

This patch addresses the first point about the Mach virtualenv location:
In CI, if `WORKSPACE` is set, the Mach venv will be created in
`$WORKSPACE/mach_virtualenv`.
The other two points are solved by explicit configuration using the
`MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE` environment variable.

Differential Revision: https://phabricator.services.mozilla.com/D140256
2022-03-10 20:41:54 +00:00
Mitchell Hentges
98bdea23c9 Bug 1755516: Add "common" to PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS r=ahal
There are cases in CI where we're using the system Python, but we
still want to create a virtualenv. For example, build jobs use the
system Python packages, but Mozharness wants to have access to Mach
packages. So, a virtualenv needs to be created (the `"common"`
virtualenv), whose associated `python` binary is used to invoke
Mozharness.

So, just like for the `build` site, allow creating the `common`
site even when the "native package source" is the system Python.

Since `mach_virtualenv_requirements.txt` already depends on
`common_virtualenv_requirements.txt`, this restriction should not cause
validation breakage.

Differential Revision: https://phabricator.services.mozilla.com/D140255
2022-03-10 20:41:54 +00:00
Mitchell Hentges
70e8dc46bd Bug 1755516: Expose config variable for Mach native dependency source r=ahal
Adds support and documentation for the
`MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE` environment variable.

The "fallback" behaviour here should be backwards-compatible, which will
enable us to piece-by-piece explicitly use the `"system"` where
needed, then remove the backwards-compatibility shim afterwards.

A restriction added by this change is that it's no longer possible to
have the combination of:
* Have Mach use the system Python, and
* Have the active command site do `pip install`.

This is because this case shouldn't be necessary (if `pip install` is
allowed, why use the system?) and will allow us to enforce that all
non-build command sites always use their lockfiles, when they're set up.

When referring to behaviour in CI, I've opted to only refer to the
upcoming behaviour (of `MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"`)
because the current heuristic behaviour feels complex enough that it
should be understood by checking the code, rather than docs. Besides,
the heuristic will be removed pretty soon (right? ;)

Differential Revision: https://phabricator.services.mozilla.com/D138932
2022-03-10 20:41:54 +00:00
Iulian Moraru
98af6aa00f Backed out 3 changesets (bug 1756047, bug 1755516) for causing py3 failures. CLOSED TREE
Backed out changeset f0043e07ec5e (bug 1756047)
Backed out changeset 9fc187cb982e (bug 1755516)
Backed out changeset 5f956232e850 (bug 1755516)
2022-03-10 00:53:18 +02:00
Mitchell Hentges
e1e19f6e62 Bug 1756047: When creating Mach venv in CI, put it in $WORKSPACE r=ahal
I'm guessing that the reason we haven't been building the Mach
virtualenv in CI so far is because:
* The default location in `~/.mozbuild` may not be cleared between jobs
* There's a performance cost to `pip install`-ing packages, especially
  if they're not needed
* In the past, it was tricky to have some jobs use a Mach virtualenv and
  others not.

This led to weird workarounds where a virtualenv would be created,
populated, then masqueraded as the "system Python" so that Mach would
be able to run with access to its dependencies without needing to
"create a Mach virtualenv".

This patch addresses the first point about the Mach virtualenv location:
In CI, if `WORKSPACE` is set, the Mach venv will be created in
`$WORKSPACE/mach_virtualenv`.
The other two points are solved by explicit configuration using the
`MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE` environment variable.

Differential Revision: https://phabricator.services.mozilla.com/D140256
2022-03-09 22:19:13 +00:00
Mitchell Hentges
18645cf2ae Bug 1755516: Add "common" to PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS r=ahal
There are cases in CI where we're using the system Python, but we
still want to create a virtualenv. For example, build jobs use the
system Python packages, but Mozharness wants to have access to Mach
packages. So, a virtualenv needs to be created (the `"common"`
virtualenv), whose associated `python` binary is used to invoke
Mozharness.

So, just like for the `build` site, allow creating the `common`
site even when the "native package source" is the system Python.

Since `mach_virtualenv_requirements.txt` already depends on
`common_virtualenv_requirements.txt`, this restriction should not cause
validation breakage.

Differential Revision: https://phabricator.services.mozilla.com/D140255
2022-03-09 22:19:13 +00:00
Mitchell Hentges
253d3a9cd6 Bug 1755516: Expose config variable for Mach native dependency source r=ahal
Adds support and documentation for the
`MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE` environment variable.

The "fallback" behaviour here should be backwards-compatible, which will
enable us to piece-by-piece explicitly use the `"system"` where
needed, then remove the backwards-compatibility shim afterwards.

A restriction added by this change is that it's no longer possible to
have the combination of:
* Have Mach use the system Python, and
* Have the active command site do `pip install`.

This is because this case shouldn't be necessary (if `pip install` is
allowed, why use the system?) and will allow us to enforce that all
non-build command sites always use their lockfiles, when they're set up.

When referring to behaviour in CI, I've opted to only refer to the
upcoming behaviour (of `MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"`)
because the current heuristic behaviour feels complex enough that it
should be understood by checking the code, rather than docs. Besides,
the heuristic will be removed pretty soon (right? ;)

Differential Revision: https://phabricator.services.mozilla.com/D138932
2022-03-09 22:19:12 +00:00
Mitchell Hentges
af1de54c49 Bug 1758584: Fix virtualenv-path scrubbing from command _pthfile_lines r=ahal
We want `_pthfile_lines()` to consistently and accurately represent a
virtualenv's `sys.path` modifications.

However, this becomes tricky when comparing expected `pthfile_lines`
//before// activating a virtualenv versus //afterwards//, especially
since Python implicitly adds some paths (such as the path to
`site-packages`).

The current solution made this scrubbing only happen if we were
`pip install`-ing into the site. Unfortunately, it //doesn't// work for
the "use system Python for the `build` site", because:
* Pre-activation result: `site-packages` isn't added, because we aren't
  using it
* Post-activation result, implicitly-added `site-packages` isn't
  scrubbed, because **scrubbing only happened for
  `SitePackagesSource.VENV`**

Stepping back, the solution here is:
* `pthfile_lines` only represents Mach modifications //on top// of
  implicit virtualenv behaviour: since `site-packages` is always added
  by default, it shouldn't be in our explicit `pthfile_lines`.
* The only time when implicit `sys.path` additions throws us off is when
  `SitePackagesSource.SYSTEM`: so, move the scrubbing to happen in that
  case instead.

Finally refactor the "conditional deprioritization" comment to be more
useful and more accurate: we've implemented the "nontrivial complexity"
of purging site-packages, and the other piece about nothing being
`pip install`-ed feels self-explanatory enough.

Differential Revision: https://phabricator.services.mozilla.com/D140580
2022-03-09 22:18:34 +00:00
Mitchell Hentges
9e039efcfa Bug 1758584: Add in-proc venv activation paths to the end of sys.path r=ahal
So far, we've been using `virtualenv`'s `activate_this.py` script.
However, unlike earlier expectations, it adds its `sys.path` additions
to the //front//, not the back! This breaks our prioritization
requirements, such as:
* When using any package from the system environment, import *all
  possible* packages from the system to avoid compatibility issues.
* Use vendored packages instead of virtualenv-installed packages
  wherever possible, because it more-closely matches developer
  expectations ("why is this package vendored if it's not used?")

Define an `activate_virtualenv()` function that replicates the logic
of `activate_this.py` [1], except for three differences:
* Don't modify `sys.real_prefix`, since it's a non-standard property of
  `sys`.
* Only add seen-with-`venv`-module paths to the `sys.path` (`$prefix`,
  `$prefix/.../$site_packages_dir`) - don't do the paths in-between.
* And, of course, append instead of prepend `sys.path` entries.

As an aside, this is one of the few remaining blockers from allowing
us to fully embrace `venv` instead of `virtualenv` - the last piece is
waiting on the fix for bug 1697833 to propagate.

[1]
https://github.com/pypa/virtualenv/blob/20.7.2/src/virtualenv/activation/python/activate_this.py

Differential Revision: https://phabricator.services.mozilla.com/D140579
2022-03-09 22:18:33 +00:00
Mitchell Hentges
264cb79386 Bug 1758584: Raise error if active site is out-of-date r=ahal
Unless either the site's requirements or its on-disk virtualenv
changes, it shouldn't become out-of-date.
This will also catch situations where sites are incorrectly
being marked out-of-date due to `sys.path` mismanagement.

Differential Revision: https://phabricator.services.mozilla.com/D140578
2022-03-09 22:18:33 +00:00
Mitchell Hentges
68aff032ed Bug 1758189: Don't double-srcdir for mach during stdalone bootstrap r=ahal
When calling Mach, it was prefixed with the `srcdir`, even though the
`srcdir` was also the working directory of the invocation. This caused
the invocation to fail.

Differential Revision: https://phabricator.services.mozilla.com/D140400
2022-03-09 21:51:13 +00:00
andrej
950f616c3e Bug 1741971 - Add MozPerfTest Testing Section to WPT Layer r=perftest-reviewers,sparky
Depends on D133785

Differential Revision: https://phabricator.services.mozilla.com/D137459
2022-03-09 20:53:29 +00:00
andrej
c601667cc8 Bug 1741971 - Make MozPerfTest Layer to run WPT r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D133785
2022-03-09 20:44:48 +00:00
Alexis Beingessner
ec10d290e7 Bug 1755602 - consistently use minidump-stackwalk instead of minidump_stackwalk. r=glandium
Inconsistency confuses some of our tools. As part of this, I:

* Updated some docs to point to rust-minidump
* Added a fallback to mozcrash.py to try both versions
* Make mozcrash.py use --brief output when the local mdsw is used
* Remove the renaming hack from build-minidump-stackwalk.sh

This isn't as simple as a sed because we still have breakpad in tree
for minidump-analyzer. I did my best to replace the right strings.

Differential Revision: https://phabricator.services.mozilla.com/D138971
2022-03-09 16:44:42 +00:00
Mitchell Hentges
2da98775fb Bug 1756224: Update MozlintParser docs about default paths r=ahal
Updates parser documentation to clarify that, if no `paths` are
provided, then only those discovered by `--outgoing` and `--workdir`
are linted.

Differential Revision: https://phabricator.services.mozilla.com/D139158
2022-03-09 15:52:48 +00:00
Mitchell Hentges
8c04017a04 Bug 1750632: ./mach lint should bootstrap clang-format r=ahal
Tie into `code_analysis`'s `get_clang_tools()` functionality to
intelligently bootstrap clang if it either doesn't exist or is
out-of-date.

This required exposing `command_context` to the linting logic, as it's
needed to call `artifact_toolchain(...)`.

Note that this means that the standalone `runcli.py` file won't be able
to support bootstrapping `clang-format`, or other linters that lean on
`command_context` in the future.

Finally, `substs.get("HOST_BIN_SUFFIX")` was replaced with a
windows-specific `binary += ".exe"`, because not all contexts where
the tests are run will have access to populated `substs` data.
Note that this worked before without the extension because it was
only used for starting a process, in which context Windows automatically
tries all `PATHEXT` options. Since we're now doing an `isfile()` check
(to enable more intelligent failure cases when `clang-format` doesn't
exist), we need the path to be fully correct.

Differential Revision: https://phabricator.services.mozilla.com/D137335
2022-03-04 19:39:32 +00:00
Nick Alexander
77ecd3dc6b Bug 1752630 - Use UNIX permissions in packaged omnijars and XPIs. r=glandium
This unifies the ZIP permissions in omnijars and internal XPIs
produced by the packager directly and those repacked by l10n
single-repacks.

Differential Revision: https://phabricator.services.mozilla.com/D137340
2022-03-04 16:52:45 +00:00
mvollmer
96c7648608 Bug 1755305 - Fix invalid mach command for Visual Studio clean target r=mhentges DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D139595
2022-03-03 14:17:59 +00:00
Mitchell Hentges
fc251d248b Bug 1710287: ./mach clang-format should update tools if out-of-date r=andi,marco
Before, clang tools would only be bootstrapped if they didn't exist.
Now, bootstrapping also occurs if the version doesn't meet requirements.

Differential Revision: https://phabricator.services.mozilla.com/D137331
2022-03-02 18:13:32 +00:00
Nick Alexander
38725ef570 Bug 1752968 - Minify Fluent .ftl files in addition to .properties files. r=eemeli
Depends on D138365

Differential Revision: https://phabricator.services.mozilla.com/D138572
2022-03-02 17:43:49 +00:00
Nick Alexander
1288cd82fa Bug 1752968 - Make single-locale l10n repacks minify .properties files. r=firefox-build-system-reviewers,eemeli,glandium
Differential Revision: https://phabricator.services.mozilla.com/D138365
2022-03-02 17:43:48 +00:00
Mitchell Hentges
1ba4a4ea2d Bug 1755562: Document Mach dependency management r=ahal
* Restructure "Using third-party Python packages" page to focus on the
 "Mach commands"/"adding a Python package" use case since that's why
 most people will be looking at these docs.
* Document the `<site>_virtualenv_packages.txt` behaviour and how it
  relates to a Mach command's definition.
* Simplify the information around using a non-PyPI index to reference
  the RelEng docs directly. It's a shame that the existing docs don't
  explain how to identify tasks that need to use the internal mirror,
  because I'm not sure either. There's existing cases of ad-hoc `pip`
  installs //not// using the mirror, but the pattern isn't clear to me.
* Remove the "specify hashes" information, since the centralized
  solution (will) automatically manage this internally.
  * Arguably, it's still beneficial instructions for ad-hoc
  `pip install` usages, but those are frowned upon today anyways - use
  the centralized solution!

Differential Revision: https://phabricator.services.mozilla.com/D138931
2022-03-02 15:51:30 +00:00
Nika Layzell
6f3de9dc9b Bug 1751948 - Part 3: Build IPDL sources within the directory they were declared, r=glandium
This change allows IPDL sources to respect FINAL_LIBRARY when building, which
is important for allowing us to build gtest-only IPDL_SOURCES files.

Differential Revision: https://phabricator.services.mozilla.com/D137167
2022-02-28 21:01:47 +00:00
Nika Layzell
a7de25bcb9 Bug 1751948 - Part 2: Add support for generated UNIFIED_SOURCES files, r=glandium
This patch adds support for generated files to be placed in
UNIFIED_SOURCES.  This will be used in part 3 to build .cpp files
generated by IPDL_SOURCES by adding them to IPDL's UNIFIED_SOURCES under
the hood. Using a unified build for IPDL files is important, as a
significant build time regression was observed locally when using
non-unified sources to build ipdl sources, due to the large number of
generated files.

Differential Revision: https://phabricator.services.mozilla.com/D137166
2022-02-28 21:01:47 +00:00
Andrew Halberstadt
9cb4d22dce Bug 1754496 - [taskgraph] Use identical functions from vendored taskgraph in util/taskcluster.py, r=taskgraph-reviewers,aki
This replaces all of the functions in gecko_taskgraph/util/taskcluster.py with
the ones from the vendored taskgraph if they are identical.

Differential Revision: https://phabricator.services.mozilla.com/D138458
2022-02-25 21:25:05 +00:00
Zhao Jiazhong
62341514c5 Bug 1756570 - [loong64] Add basic build support for LoongArch64 port. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D139567
2022-02-25 03:42:34 +00:00
Narcis Beleuzu
be477df7f9 Backed out 3 changesets (bug 1752968) for GTest crashes on wrappers.cpp . CLOSED TREE
Backed out changeset 1ab482292c62 (bug 1752968)
Backed out changeset a57257eab3fc (bug 1752968)
Backed out changeset 7c29431ee202 (bug 1752968)
2022-02-24 02:48:07 +02:00
Nick Alexander
282d4de33d Bug 1752968 - Minify Fluent .ftl files in addition to .properties files. r=eemeli
Depends on D138365

Differential Revision: https://phabricator.services.mozilla.com/D138572
2022-02-23 23:11:50 +00:00
Nick Alexander
96e06a21d5 Bug 1752968 - Make single-locale l10n repacks minify .properties files. r=firefox-build-system-reviewers,eemeli,glandium
Differential Revision: https://phabricator.services.mozilla.com/D138365
2022-02-23 23:11:50 +00:00
Narcis Beleuzu
5c198ed236 Backed out changeset a470e4f70f80 (bug 1754496) as requested by ahal 2022-02-23 20:41:24 +02:00
Andrew Halberstadt
5d184200f1 Bug 1754496 - [taskgraph] Use identical functions from vendored taskgraph in util/taskcluster.py, r=taskgraph-reviewers,aki
This replaces all of the functions in gecko_taskgraph/util/taskcluster.py with
the ones from the vendored taskgraph if they are identical.

Differential Revision: https://phabricator.services.mozilla.com/D138458
2022-02-23 16:21:22 +00:00
Tom Ritter
0cee01db03 Bug 1722098: Fix the fzf version and download it directly r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D139057
2022-02-22 19:27:53 +00:00
Alex Ionescu
4f07163ef9 Bug 1749967 - Automated recording for android r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D135891
2022-02-21 07:32:13 +00:00
Mitchell Hentges
e2438c91d3 Bug 1732795: Install coverage using pip r=ahal
`coverage` has native code, so the vendored version was only used as
source code from which the actual package could be built.
Since its always used in a context where we can `pip install` over the
network, let's do that. This cleans up our tree a bit and allows us to
leverage the `coverage` wheels.

Differential Revision: https://phabricator.services.mozilla.com/D138816
2022-02-18 14:27:18 +00:00
Mitchell Hentges
8d5bcd86f6 Bug 1732795: Resolve upcoming pytest deprecations r=webdriver-reviewers,ahal,whimboo
Following the pytest "deprecations and removals" docs [1], this patch:
* Replaces `@pytest.yield_fixture` with `@pytest.fixture`.
* Replaces `.funcargnames` with `.fixturenames`.
* Uses `Pathlib` parameter instead of the `py.path.local` one in
  associated `pytest_*` hooks.
* Replaces `--strict` with `--strict-markers`

[1] https://docs.pytest.org/en/latest/deprecations.html

Differential Revision: https://phabricator.services.mozilla.com/D138815
2022-02-18 14:27:18 +00:00
Mitchell Hentges
222e16e8b1 Bug 1753520: Compare config paths using pathlib r=firefox-build-system-reviewers,glandium
If previous config file paths were generated with a different
driveletter casing than the current context, then each file's contents
are replaced with `null`.

MozillaBuild 3.4 used a lowercase drive letter, and MozillaBuild 4.0
will use an uppercase drive letter.
So, using 3.4's existing objdir, and doing an incremental build with
4.0 will cause the `null` contents issue.

Adjust the files to be their `Path().resolve()`'d counterparts, so
they're string-comparable and the subset-calculation works correctly.

Differential Revision: https://phabricator.services.mozilla.com/D137807
2022-02-18 14:21:37 +00:00
Mitchell Hentges
6b25424737 Bug 1755530: Remove python_executable_version() r=glandium
* The python2/python3 lookup logic is obsolete, we can always depend on
  `sys.executable` since Mach starts with a Python version check
* `MozbuildObject`'s `python3` property was unused, which means that all
  of this removed code was dead anyways.

Differential Revision: https://phabricator.services.mozilla.com/D138824
2022-02-18 14:18:26 +00:00
Valentin Gosu
a1f3c24dce Bug 1755954 - Keep only vendored sfv 0.9.1 r=necko-reviewers,glandium,dragana
It seems sfv 0.8.0 is used in the tree, while neqo is using the newer 0.9.1.
Updating http-sfv to use sfv 0.9.1 should remove the code duplication.

Differential Revision: https://phabricator.services.mozilla.com/D139027
2022-02-18 08:51:51 +00:00
Mitchell Hentges
e8a78d6118 Bug 1755088: Replace all usages of unittest deprecated aliases r=webdriver-reviewers,ahal,whimboo
There's some unittest-related functions that we heavily lean on
that are deprecated:
https://docs.python.org/3/library/unittest.html#deprecated-aliases

This is a big find-and-replace that was restricted based on files that
matched the pattern `*test*.py` and that weren't in any of the paths
listed in `tools/rewriting/ThirdPartyPaths.txt`.

Differential Revision: https://phabricator.services.mozilla.com/D138608
2022-02-17 15:21:41 +00:00
ahochheiden
7452a37502 Bug 1751853 - Update string paths to Pathlib objects in Mozrelease module r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136863
2022-02-16 18:00:38 +00:00
ahochheiden
b78352e424 Bug 1751853 - Replaced the logic in 'rmdirRecursive' with a more standard solution r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136995
2022-02-16 18:00:38 +00:00
Joel Maher
2399972c85 Bug 1754613 - split a11y tests out of mochitest-browser-chrome into mochitest-browser-a11y. r=releng-reviewers,Jamie,gbrown
here is a try push:
https://treeherder.mozilla.org/jobs?repo=try&group_state=expanded&tier=1%2C2%2C3&revision=aca12d2de75f1fb0eb25432358e5518a8e7f812d

most of the bc failures fall into:
https://bugzilla.mozilla.org/show_bug.cgi?id=1742167

I only tested bc to see if there were issues removing the `ba` tests from there.

Differential Revision: https://phabricator.services.mozilla.com/D138571
2022-02-15 16:47:57 +00:00
Jan-Erik Rediger
d594208258 Bug 1689162 - Update to Glean metrics schema v2. r=Dexter,firefox-build-system-reviewers,nalexander DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D138537
2022-02-14 08:57:27 +00:00
ahochheiden
f405f02655 Bug 1753795 - Add progress bar (via tqdm) to running Python Tests r=ahal
This will give additional feedback to the user. Now they will have
immediate feedback in regards to the progress of the test run, instead
of being unsure of what's happening until the first test run completes.

Differential Revision: https://phabricator.services.mozilla.com/D137925
2022-02-11 18:51:46 +00:00
ahochheiden
ac7433fc00 Bug 1754726 - Add capturing for stderr when running Python Tests r=ahal
Since stdout is being piped, redirecting stderr to stdout causes it
to end up in the same pipe interleaved, which is what we want.

Also added a non-zero return code to be set when there is no test output.

Differential Revision: https://phabricator.services.mozilla.com/D138481
2022-02-11 18:04:18 +00:00
Barret Rennie
538d6991f2 Bug 1754917 - Clone repositories with core.autocrlf=input when vendoring r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D138516
2022-02-11 16:23:08 +00:00
Barret Rennie
d15e6e9f9a Bug 1754916 - Do not add extra newline to moz.yaml files when vendoring r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D138515
2022-02-11 16:23:08 +00:00