Commit Graph

6518 Commits

Author SHA1 Message Date
Andrew Halberstadt
93710a04d5 Bug 1673992 - [taskgraph] Ensure we stop extracting mozharness.zip in the cwd r=bhearsum
Rather than putting a top-level "mozharness" directory in "mozharness.zip",
this puts the root of mozharness at the root of the archive. Then we extract
the archive into a "mozharness" directory. This way the path on disk ends up
being the same, but generic-worker won't attempt to modify the permissions of
files in the cwd.

Differential Revision: https://phabricator.services.mozilla.com/D95138
2020-10-29 17:30:56 +00:00
Ricky Stewart
fbe2b42f80 Bug 1673700 - Don't use double quotes around strings in definition of fork_interpose r=firefox-build-system-reviewers,glandium
The definition of `patch_main()` has behavior that kicks in only on Windows and for Python 2. Unfortunately, not all of our `mach` commands have been migrated to Python 3, so this still matters.

Bug 1654103 replaced the single-quoted strings in this function with double-quoted strings. This should be fine, except that we call into `multiprocessing.forking.main()` with some monkey-patching that is meant to fix a Windows-specific bug (see bug 1316140). We don't do any clever serialization or anything here and we end up just passing that source to `multiprocessing.forking.main()` which aggregates that source code [dumbly](https://github.com/python/cpython/blob/2.7/Lib/multiprocessing/forking.py#L259), wrapping everything in double-quotes again and passing it to `_subprocess.CreateProcess()`, which ends up failing if the source contains strings formatted with double quotes.

We could revert bug 1654103 and exempt this file from linting, but that is overkill given that this file otherwise contains useful stuff. Instead we move everything to another file, exempt that file from linting, and update `util.py` accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D94909
2020-10-29 15:47:14 +00:00
pbz
876cc64abb Bug 1565574 - Migrate protocol handler dialog strings to fluent. r=Gijs,flod
Differential Revision: https://phabricator.services.mozilla.com/D94150
2020-10-29 13:44:01 +00:00
Dorel Luca
cfaedde161 Backed out 6 changesets (bug 1565574) as per dev's request. CLOSED TREE
Backed out changeset fbe972f837d9 (bug 1565574)
Backed out changeset 2852c526acd6 (bug 1565574)
Backed out changeset fa731b373f42 (bug 1565574)
Backed out changeset c7ed89a9afc7 (bug 1565574)
Backed out changeset 3e87d1b83069 (bug 1565574)
Backed out changeset 93955bcbaf4b (bug 1565574)
2020-10-29 12:55:28 +02:00
pbz
db5f99b15c Bug 1565574 - Migrate protocol handler dialog strings to fluent. r=Gijs,flod
Differential Revision: https://phabricator.services.mozilla.com/D94150
2020-10-27 16:43:45 +00:00
Ricky Stewart
127255c31f Bug 1654084 - Log build project to telemetry r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D94868
2020-10-27 18:08:49 +00:00
Ricky Stewart
e6c9007806 Bug 1655845 - Collect OS version information in mach telemetry r=firefox-build-system-reviewers,dmajor
We add new metrics `distro` and `distro_version`. Their meaning varies based on the actual OS:

1. For Linux, the pair will be the name of the distribution and the distribution's version (e.g. `ubuntu`/`20.04`);

2. for macOS, the pair will be the string `macos` and the macOS version (e.g. `10.15.7`); and

3. for Windows, the pair will be the string (`windows`, `MAJOR.MINOR.BUILD`);

4. and for all other OS'es, the first will be the value of `sys.platform`, and the version string will be empty.

Differential Revision: https://phabricator.services.mozilla.com/D94781
2020-10-27 20:35:17 +00:00
Aaron Klotz
c592bffdfb Bug 1650118: Part 6 - Update test harnesses; r=bc,sparky,perftest-reviewers,jgraham
e10s is no longer a GeckoView option, so I'd like to remove it from test
harnesses when possible.

Depends on D90934

Differential Revision: https://phabricator.services.mozilla.com/D91640
2020-10-27 18:16:30 +00:00
Razvan Maries
f3f6721caa Backed out 8 changesets (bug 1650118) for wpt failures on inside-dedicated-worker.html. CLOSED TREE
Backed out changeset ab6218dd84f5 (bug 1650118)
Backed out changeset a99d1aae6e2e (bug 1650118)
Backed out changeset ed357b8bb07e (bug 1650118)
Backed out changeset cd5155e732d9 (bug 1650118)
Backed out changeset 63cc752924f2 (bug 1650118)
Backed out changeset 7f0a281a399e (bug 1650118)
Backed out changeset 0fd77fef3c95 (bug 1650118)
Backed out changeset f397e86fd61e (bug 1650118)
2020-10-27 18:39:11 +02:00
Aaron Klotz
b7a9856e97 Bug 1650118: Part 6 - Update test harnesses; r=bc,sparky,perftest-reviewers,jgraham
e10s is no longer a GeckoView option, so I'd like to remove it from test
harnesses when possible.

Depends on D90934

Differential Revision: https://phabricator.services.mozilla.com/D91640
2020-10-27 11:41:28 +00:00
Ricky Stewart
210585edd2 Bug 1672023 - Remove excluded files from black.yml
These files were omitted from the original patch because reformatting them required some manual intervention in order to avoid breaking unit tests. Generally the `noqa` lines were already there and just needed to be moved from one line to another (due to the reformatting by `black`), but sometimes `black` saw fit to move a bunch of stuff all onto one line, requiring me to introduce new `noqa` lines.

Besides the autoformat by `black` and some manual fixups, this patch contains no other changes.

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94052

Depends on D94045
2020-10-26 18:21:44 +00:00
Ricky Stewart
02a7b4ebdf Bug 1654103: Standardize on Black for Python code in mozilla-central.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Mike Hommey
0de02ed0fb Bug 1672913 - Use the right arch for dsymutil -a for arm64 mac. r=firefox-build-system-reviewers,dmajor DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D94560
2020-10-23 11:57:36 +00:00
Mike Hommey
2bf535bb2b Bug 1672895 - Bootstrap nasm from toolchain artifacts on mac. r=firefox-build-system-reviewers,rstewart DONTBUILD
Rather than homebrew/macports.

Differential Revision: https://phabricator.services.mozilla.com/D94539
2020-10-23 13:54:18 +00:00
Mike Hommey
d4daba77e3 Bug 1672894 - Don't bootstrap autoconf 2.13. r=firefox-build-system-reviewers,rstewart DONTBUILD
We've vendored it in bug 1663863 so we don't need it installed on the
system anymore.

Differential Revision: https://phabricator.services.mozilla.com/D94538
2020-10-23 13:54:08 +00:00
Bogdan Tara
da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart
fe80718d67 Bug 1672023 - Remove excluded files from black.yml r=sylvestre,perftest-reviewers,geckoview-reviewers,agi
These files were omitted from the original patch because reformatting them required some manual intervention in order to avoid breaking unit tests. Generally the `noqa` lines were already there and just needed to be moved from one line to another (due to the reformatting by `black`), but sometimes `black` saw fit to move a bunch of stuff all onto one line, requiring me to introduce new `noqa` lines.

Besides the autoformat by `black` and some manual fixups, this patch contains no other changes.

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94052
2020-10-23 20:40:44 +00:00
Ricky Stewart
c0cea3b0fa Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Mitchell Hentges
398dcb4fff Bug 1669862: Errors in process_install_manifest show nicely on TH r=firefox-build-system-reviewers,rstewart
process_install_manifest now only prints the message (not the stack
trace) of ErrorMessage exceptions, and the error config has been updated
to consider such messages to have the "ERROR" severity.

Differential Revision: https://phabricator.services.mozilla.com/D93854
2020-10-23 15:38:18 +00:00
Myeongjun Go
27e4a2b691 Bug 1672207 - [perfdocs] Remove legacy code on build_test_description r=sparky,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D94127
2020-10-23 13:04:19 +00:00
Csoregi Natalia
4bcb7f8c6d Bug 1672838 - Fix linting issue. r=fix CLOSED TREE 2020-10-23 01:00:16 +03:00
Agi Sferro
c47a1c9361 Bug 1672838 - Add --enable-fission to |mach run| r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D94488
2020-10-22 21:39:14 +00:00
Mike Hommey
198ea0303d Bug 1671569 - Normalize Xcode clang version to the underlying plain clang version. r=firefox-build-system-reviewers,rstewart
We used to have a complicated scheme to figure out the minimum supported
version of clang on OSX, based on some compiler feature, which wouldn't
allow to do other version checks further down the line.

The main blocker for better tests was to be able to distinguish between
Xcode clang and plain clang, which turns out to be possible with the
__apple_build_version__ define.

We still need to map versions manually, but it's better than the current
status quo.

Differential Revision: https://phabricator.services.mozilla.com/D94261
2020-10-22 01:31:17 +00:00
Dorel Luca
1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Dorel Luca
26941cf2f5 Backed out changeset 94ec15429e21 (bug 1672023) for Backout conflicts with Bug 1654103. CLOSED TREE 2020-10-22 03:43:01 +03:00
Ricky Stewart
8b352f1843 Bug 1672023 - Remove excluded files from black.yml r=sylvestre,perftest-reviewers,geckoview-reviewers,agi
These files were omitted from the original patch because reformatting them required some manual intervention in order to avoid breaking unit tests. Generally the `noqa` lines were already there and just needed to be moved from one line to another (due to the reformatting by `black`), but sometimes `black` saw fit to move a bunch of stuff all onto one line, requiring me to introduce new `noqa` lines.

Besides the autoformat by `black` and some manual fixups, this patch contains no other changes.

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94052
2020-10-21 21:29:30 +00:00
Ricky Stewart
50762dacab Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Steve Fink
30dc736c88 Bug 1672506 - FailedCommandError does not have e.message field r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D94378
2020-10-21 21:22:14 +00:00
Francesco Lodolo (:flod)
8d308fac8c Bug 1672315 - Remove Fluent migration recipes for Firefox 79-82, r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D94258
2020-10-21 13:01:15 +00:00
Razvan Maries
5e0d52e2cc Backed out 6 changesets (bug 1650118) as per Aaron's request. CLOSED TREE
Backed out changeset 4a7fc6398ad6 (bug 1650118)
Backed out changeset b9fa3dd9c05d (bug 1650118)
Backed out changeset 2cb9109dee0a (bug 1650118)
Backed out changeset a6ca38804021 (bug 1650118)
Backed out changeset 66b9527aecad (bug 1650118)
Backed out changeset 74fd3eb970a6 (bug 1650118)
2020-10-21 07:32:57 +03:00
Mike Hommey
54f6141287 Bug 1671424 - Move configure execution from client.mk to mach configure. r=firefox-build-system-reviewers,rstewart
`mach configure` currently runs the equivalent to `make -f client.mk`.
This is history, and essentially does the following:
- Create `configure` and `js/src/configure` from `configure.in` and
`js/src/configure.in` respectively.
- Create the objdir.
- Run `configure` from the objdir.

The `configure` script is, nowadays, only really used as a means to set
OLD_CONFIGURE (and also for people who want to run `configure`,
literally, as in the `configure; make` workflow). `mach configure`
actually doesn't need it. Neither does recursing into `js/src` require
`js/src/configure`, since bug 1520340 (and now as of bug 1669633, we
don't even recurse).

Because configure.py can actually derive OLD_CONFIGURE on its own
(except for `js/src/configure`, but `mach configure` doesn't run that),
we don't really need `configure` for `mach configure`.

So all in all, we're at a point in history where it's straightforward to
just initiate configure.py from mach configure, so we just do that.

And in the hypothetical case where the `mach configure` code is somehow
running in python2, we get the mach virtualenv python3 and use it to
execute `configure.py`.

Differential Revision: https://phabricator.services.mozilla.com/D93741
2020-10-20 20:41:52 +00:00
Tarek Ziadé
ec120ea38c Bug 1615884 - Handle Windows separators correctly when calling clang-format -d on Windows, while allowing writing path with '/' on the command-line. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D93339
2020-10-19 12:33:50 +00:00
Marco Bonardo
a3414a5108 Bug 1668284 - Unknown content type change settings label is no longer accurate. r=Gijs,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D94027
2020-10-20 12:34:45 +00:00
Mike Hommey
5afb69830c Bug 1670156 - Use the same prefix/suffix for rust libraries on mingw builds. r=firefox-build-system-reviewers,dmajor
Rustc >= 1.44 changed the file names of the static libraries it
produces with -windows-gnu targets, to match that of mingw clang/gcc.

Considering we still build on 1.43, the best fix would be to derive the
prefix/suffix based on the version of rust, but that actually turns into
a hard-to-solve problem because of configure tests for bindgen also
depending on the prefix/suffix value to be known.

On the other hand, we're soon due to an update to 1.47, so the simpler
solution is to just push mingw builds to require 1.44 (settling for the
smallest upgrade possible for now) and to remove the split between C and
rust library prefix/suffixes.

Differential Revision: https://phabricator.services.mozilla.com/D93726
2020-10-16 16:06:19 +00:00
Narcis Beleuzu
9252175982 Backed out changeset e34634758f51 (bug 1671424) for bustages on configure.py . CLOSED TREE 2020-10-20 00:16:22 +03:00
Aaron Klotz
1876a00d8b Bug 1650118: Part 6 - Update test harnesses; r=bc,sparky,perftest-reviewers
e10s is no longer a GeckoView option, so I'd like to remove it from test
harnesses when possible.

Differential Revision: https://phabricator.services.mozilla.com/D91640
2020-10-19 18:17:16 +00:00
Mike Hommey
fcd16177c6 Bug 1671424 - Move configure execution from client.mk to mach configure. r=firefox-build-system-reviewers,rstewart
`mach configure` currently runs the equivalent to `make -f client.mk`.
This is history, and essentially does the following:
- Create `configure` and `js/src/configure` from `configure.in` and
`js/src/configure.in` respectively.
- Create the objdir.
- Run `configure` from the objdir.

The `configure` script is, nowadays, only really used as a means to set
OLD_CONFIGURE (and also for people who want to run `configure`,
literally, as in the `configure; make` workflow). `mach configure`
actually doesn't need it. Neither does recursing into `js/src` require
`js/src/configure`, since bug 1520340 (and now as of bug 1669633, we
don't even recurse).

Because configure.py can actually derive OLD_CONFIGURE on its own
(except for `js/src/configure`, but `mach configure` doesn't run that),
we don't really need `configure` for `mach configure`.

So all in all, we're at a point in history where it's straightforward to
just initiate configure.py from mach configure, so we just do that.

And in the hypothetical case where the `mach configure` code is somehow
running in python2, we get the mach virtualenv python3 and use it to
execute `configure.py`.

Differential Revision: https://phabricator.services.mozilla.com/D93741
2020-10-19 16:24:34 +00:00
Myeongjun Go
10359c348a Bug 1663708 - [perfdocs] Find tests to add to documentation using manifests instead of path searching r=sparky,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D91703
2020-10-19 15:17:04 +00:00
Dave Townsend
b313c5f808 Bug 1666035: Strip ccache compilation wrappers from the clangd compilation database. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D93533
2020-10-16 18:47:28 +00:00
Mitchell Hentges
5835177a65 Bug 1669934: Virtualenv should use the correct python packages r=firefox-build-system-reviewers,glandium
Due to the MacOS `__PYVENV_LAUNCHER__` environment variable, some
virtualenv operations were being run with the system python (and
packages), rather than the python and packages within the venv.

This was already partially solved by having `__PYVENV_LAUNCHER__`
get unset when some virtualenv operations were run.
This change makes this more consistent by unsetting the environment
variable once a `VirtualenvManager` is created.

Differential Revision: https://phabricator.services.mozilla.com/D93615
2020-10-16 16:14:22 +00:00
Tarek Ziadé
f3c2b155b5 Bug 1670631 - browsertime keeps on reinstalling itself r=sparky
Let's use `_from` instead of `_resolved`

Differential Revision: https://phabricator.services.mozilla.com/D93629
2020-10-15 14:07:09 +00:00
Ricky Stewart
362abcf949 Bug 1670357 - Remove make targets for cleaning: clean, realclean, clobber, distclean, clobber_all, everything r=firefox-build-system-reviewers,mhentges
The `clobber` targets are superseded by `mach clobber`, so we don't need them for any reason. The `clean` target is meant to get you to a post-`configure` state, but it doesn't really work, and if it's necessary for you to be in that state for some reason you can just clobber and re-`configure`, so it doesn't seem worth it to get it working again. Instead, delete all of them. Also delete `everything` which is not useful when `clobber` doesn't exist.

Differential Revision: https://phabricator.services.mozilla.com/D93514
2020-10-15 20:37:18 +00:00
Dave Townsend
e3c500eacb Bug 1671203: Auto-detect VSCode insiders build when the release build is not found. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D93532
2020-10-15 19:28:30 +00:00
Tarek Ziadé
616eb184b2 Bug 1670216 - Speed up tests. r=sparky
Shaved off 15 seconds (and fixed small code issues in the proxy layer)

Differential Revision: https://phabricator.services.mozilla.com/D93080
2020-10-14 19:31:51 +00:00
Andrew Halberstadt
7d1ba96692 Bug 1670385 - [mach] Move 'TestBase._run_mach' to a pytest fixture, r=firefox-build-system-reviewers,rstewart
I accidentally broke the 'mach' unittests on Python 2 due to some difference in the unittest
module. Rather than poking into 'unittest', this patch moves us closer to the pytest format
while also fixing the issue.

Differential Revision: https://phabricator.services.mozilla.com/D93420
2020-10-14 03:32:04 +00:00
Ricky Stewart
50597da87a Bug 1671016 - Improve error message when dirty files cause artifact builds or mach bootstrap to fail r=firefox-build-system-reviewers,mhentges
I try to increase the probability of this error message getting read and heeded by enumerating the list of changed files from the latest `central`, and printing them out.

Also, bug 1636797 I think renders unnecessary the advice to run `mach clobber python`, so I delete that suggestion.

Differential Revision: https://phabricator.services.mozilla.com/D93422
2020-10-13 20:51:15 +00:00
Ricky Stewart
30abdd148e Bug 1670977 - Remove errant spaces from expression fpath+=~/.zfunc in zsh mach autocompletion docs r=ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D93423
2020-10-13 20:33:17 +00:00
Ricky Stewart
d8915aa0c8 Bug 1670167 - Fix janky Python 3 logic in configure from bug 1656993 r=firefox-build-system-reviewers,glandium
The `try : import mozfile; except ImportError: ...` thing was completely broken since it unconditionally triggered [this exception](https://searchfox.org/mozilla-central/rev/165e8d8f80c02605c2f3e89c5de462abfce91c32/python/mozbuild/mozbuild/configure/__init__.py#248). The `MOZBUILD_VIRTUALENV` thing should work now, so just use that as a signal for whether we're already in the `virtualenv` instead.

Also delete some `PATH` munging in `building.py`, which I think should be unnecessary after we make the above change.

Differential Revision: https://phabricator.services.mozilla.com/D93138
2020-10-13 16:05:51 +00:00
Razvan Maries
580c003812 Backed out changeset 8f481c06bcd7 (bug 1670039) for Android build bustages. CLOSED TREE 2020-10-10 02:39:01 +03:00
Mike Hommey
6d61924d28 Bug 1670039 - Always call virtualenv with python -S. r=firefox-build-system-reviewers,perftest-reviewers,mhentges
It disables site modules from the caller python, which are irrelevant
anyways as virtualenv is self-contained.

Differential Revision: https://phabricator.services.mozilla.com/D93064
2020-10-09 15:39:22 +00:00