Commit Graph

6511 Commits

Author SHA1 Message Date
Aaron Klotz
122e4ecc08 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
23d2a4f2f7 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
5276973bb8 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
855112d1e7 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
31b8ca9716 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
5d067c5696 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
51516dc861 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
3b1bc6421d 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
612312a64c 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
1420be7fef 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
065d2eb893 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
40d64675ed 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
a25e1d98dc 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
6a98bd4b32 Bug 1672838 - Fix linting issue. r=fix CLOSED TREE 2020-10-23 01:00:16 +03:00
Agi Sferro
ae4468c6e5 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
1fcc947791 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
95b44c982f Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Dorel Luca
a16a649fd4 Backed out changeset 94ec15429e21 (bug 1672023) for Backout conflicts with Bug 1654103. CLOSED TREE 2020-10-22 03:43:01 +03:00
Ricky Stewart
9ba6a781c1 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
43baed3c18 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
8ed7ef3742 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)
edd4093751 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
c0a9dd04c2 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
f032938296 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é
33afa43ab7 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
518f8a0e6b 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
7ba34bc874 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
2fc39d922d Backed out changeset e34634758f51 (bug 1671424) for bustages on configure.py . CLOSED TREE 2020-10-20 00:16:22 +03:00
Aaron Klotz
88adf5021d 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
8a3fb2c295 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
4a365acd92 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
31a4da3a61 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
886e9d283a 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é
075e4dfe48 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
edd6e99172 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
8d37a66c14 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é
4b65ea5a6a 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
6066c5f8d4 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
d5ada8d704 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
37f45d799e 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
24c4060819 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
af5567305d Backed out changeset 8f481c06bcd7 (bug 1670039) for Android build bustages. CLOSED TREE 2020-10-10 02:39:01 +03:00
Mike Hommey
0c7616732b 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
Mike Hommey
ed6ce56605 Bug 1670169 - Fix hack from bug 914563 when python gets more arguments somehow. r=firefox-build-system-reviewers,rstewart DONTBUILD
Some recent change apparently made the multiprocessing code reenter
python with the arguments `-s -c "..."` instead of `-c "..."`, which
broke the assumption of the hack.

Differential Revision: https://phabricator.services.mozilla.com/D93060
2020-10-09 14:27:28 +00:00
Mike Hommey
ca614cbf6f Bug 1670168 - Fix configure lint error when a template uses an undefined variable. r=firefox-build-system-reviewers,rstewart DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D93057
2020-10-09 16:25:25 +00:00
Ricky Stewart
3dca08253a Bug 1669332 - Add specific error message singling out gecko-dev if no hg revisions for the git repo can be found r=firefox-build-system-reviewers,mhentges,glandium
People keep using `gecko-dev` and trying to run artifact builds, although this very unsupported, and the existing error message is useless if you're not knowledgeable about how these systems work. Since this is the most common case where people come in with questions about artifact builds not working, try to detect this case and print a helpful error message.

Differential Revision: https://phabricator.services.mozilla.com/D92492
2020-10-09 16:40:07 +00:00
Andrew Halberstadt
5ff6c696f2 Bug 1519990 - [mach] Add ability to generate completion scripts via 'mach mach-completion <shell>', r=mhentges
Supported shells are 'bash', 'zsh' and 'fish'. Here are installation
instructions with various shells and contexts:

### bash

    $ mach mach-completion bash -f _mach
    $ sudo mv _mach /etc/bash_completion.d

### bash (homebrew)

    $ mach mach-completion bash -f $(brew --prefix)/etc/bash_completion.d/mach.bash-completion

### zsh

    $ mkdir ~/.zfunc
    $ mach mach-completion zsh -f ~/.zfunc/_mach

then edit ~/.zshrc and add:

    fpath += ~/.zfunc
    autoload -U compinit && compinit

### zsh (oh-my-zsh)

    $ mkdir $ZSH/plugins/mach
    $ mach mach-completion zsh -f $ZSH/plugins/mach/_mach

then edit ~/.zshrc and add 'mach' to your enabled plugins:

    plugins(mach ...)

### zsh (prezto)

    $ mach mach-completion zsh -f ~/.zprezto/modules/completion/external/src/_mach

### fish

    $ ./mach mach-completion fish -f ~/.config/fish/completions/mach.fish

### fish (homebrew)

    $ ./mach mach-completion fish -f (brew --prefix)/share/fish/vendor_completions.d/mach.fish

Differential Revision: https://phabricator.services.mozilla.com/D90416
2020-10-09 16:03:30 +00:00
Andrew Halberstadt
41fb3714ea Bug 1519990 - [mach] Some light refactoring in commandinfo.py, r=mhentges
Differential Revision: https://phabricator.services.mozilla.com/D90415
2020-10-08 16:15:03 +00:00
Florin Strugariu
1a2edfd10f Bug 1666264 - [Mozproxy] Implement a recording .zip file manager r=tarek,perftest-reviewers,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D90954
2020-10-09 12:32:26 +00:00
Sylvestre Ledru
40667cf727 Bug 1588458 - Replace dxr links by searchfox in the code/test r=kats,sparky
Differential Revision: https://phabricator.services.mozilla.com/D92792
2020-10-08 14:02:40 +00:00