Commit Graph

3466 Commits

Author SHA1 Message Date
Benjamin Bouvier
906829913d Bug 1534630: Slightly optimize scheduling of clang-format jobs; r=andi
Instead of over-estimating the number of items in a batch, do the opposite:
slightly under-estimate the number of items, then dispatch outstanding items
(by just adding one item to each batch).

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

--HG--
extra : moz-landing-system : lando
2019-03-12 16:30:12 +00:00
Aki Sasaki
92cf5ecd6a Bug 1534506 - download chain-of-trust.json instead of chainOfTrust.json.asc r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D23081

--HG--
extra : moz-landing-system : lando
2019-03-12 04:53:57 +00:00
Andi-Bogdan Postelnicu
dc4907ab25 Bug 1529691 - use futures in order to process in parallel clang-format. r=bbouvier
Parts of this patch were taken from the original work of :bbouvier in Bug 1521772.
We needed to revert Bug 1521772 since it broken Windows compatibility.

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

--HG--
extra : moz-landing-system : lando
2019-03-12 18:58:46 +00:00
Nathan Froyd
2f1020dc41 Bug 1533149 - add checking messages for libstdcxx_version; r=glandium
It's occasionally useful to know what versions are being discovered for
these variables.  It's also convenient for logs from automation to
contain all the relevant information, rather than setting up a loaner
and running all the commands yourself.

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

--HG--
extra : moz-landing-system : lando
2019-03-10 00:11:09 +00:00
Mike Hommey
baba0e3cec Bug 1529894 - Change jar log content. r=aklotz,chmanchester
The jar log is used for optimization of the packaged jar files according
to their usage patterns during a profile run. The current content of the
file currently come with 2 caveats:
- it contains entries for jar archives that aren't relevant to
  packaging, which is not a problem in itself, but see below.
- it contains full paths for jar archives that may not correspond to the
  location of the packaged directory (on e.g. Android, where the build
  almost certainly doesn't happen in the same directory on the host as
  Fennec runs in the emulator/on the device).

The current JarLog code does somehow handle the various ways paths are
currently presented, but it's clearly missing code to map the paths in
the log to packaged paths. Instead of requiring manual work and extra
build options to handle this mapping, and considering the caveats above,
it's just simpler to log archive paths as if they were relative to the
packaged application directory in a build, and use that during
packaging.

Depends on D21655

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

--HG--
extra : moz-landing-system : lando
2019-03-07 20:46:52 +00:00
Mike Hommey
dae76481a6 Bug 1530908 - Move list of supported artifact builds to an importable module. r=chmanchester
Depends on D22054

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

--HG--
extra : moz-landing-system : lando
2019-03-06 22:47:32 +00:00
Gurzau Raul
fe771d472a Backed out 4 changesets (bug 1529894) for xperf failures on a CLOSED TREE.
Backed out changeset d31f88692394 (bug 1529894)
Backed out changeset e2d7b59776a2 (bug 1529894)
Backed out changeset 3c37fd9d30d5 (bug 1529894)
Backed out changeset e93f4871731b (bug 1529894)

--HG--
extra : rebase_source : ae317f856e08d09ec655cb7b7a87c120f3c626a5
2019-03-06 13:06:13 +02:00
Gurzau Raul
d7094fba48 Bug 1529894 - Fix more flake failures on a CLOSED TREE. 2019-03-06 09:35:59 +02:00
Gurzau Raul
7dc522fa55 Bug 1529894 - fix flake failure on a CLOSED TREE. 2019-03-06 09:14:00 +02:00
Mike Hommey
bef82f111d Bug 1529894 - Change jar log content. r=aklotz,chmanchester
The jar log is used for optimization of the packaged jar files according
to their usage patterns during a profile run. The current content of the
file currently come with 2 caveats:
- it contains entries for jar archives that aren't relevant to
  packaging, which is not a problem in itself, but see below.
- it contains full paths for jar archives that may not correspond to the
  location of the packaged directory (on e.g. Android, where the build
  almost certainly doesn't happen in the same directory on the host as
  Fennec runs in the emulator/on the device).

The current JarLog code does somehow handle the various ways paths are
currently presented, but it's clearly missing code to map the paths in
the log to packaged paths. Instead of requiring manual work and extra
build options to handle this mapping, and considering the caveats above,
it's just simpler to log archive paths as if they were relative to the
packaged application directory in a build, and use that during
packaging.

Depends on D21655

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

--HG--
extra : moz-landing-system : lando
2019-03-06 01:18:10 +00:00
Jason Laster
90414405ea Revert "Backed out changeset 7f51bc3757d9 (bug 1497839) for ESlint failure at build-debugger.js. CLOSED TREE"
This reverts commit 2b1fea9435191242f8aadc04da3ed1b0e0d99b02.

Bug 1497839 - fix eslint issues for babel build. r=jlast

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

--HG--
rename : devtools/client/debugger/new/build/babel.js => devtools/client/shared/build/babel.js
rename : devtools/client/debugger/new/build/copy-module.js => devtools/client/shared/build/build-debugger.js
extra : moz-landing-system : lando
2019-03-06 05:10:25 +00:00
Brindusan Cristian
c11291ea12 Backed out changeset 7f51bc3757d9 (bug 1497839) for ESlint failure at build-debugger.js. CLOSED TREE
--HG--
rename : devtools/client/shared/build/babel.js => devtools/client/debugger/new/build/babel.js
rename : devtools/client/shared/build/build-debugger.js => devtools/client/debugger/new/build/copy-module.js
extra : histedit_source : a4f0d58045b176391d54c3aff09072a67f80cafc
2019-03-06 06:46:38 +02:00
David Walsh
4222a51e78 Bug 1497839 - Provide method for NetMonitor to use JSX r=jlast
Differential Revision: https://phabricator.services.mozilla.com/D20888

--HG--
rename : devtools/client/debugger/new/build/babel.js => devtools/client/shared/build/babel.js
rename : devtools/client/debugger/new/build/copy-module.js => devtools/client/shared/build/build-debugger.js
extra : moz-landing-system : lando
2019-03-06 03:12:49 +00:00
kerlyn
0f9d749554 Bug 1523835 - Added python/mozbuild/mozpack to the flake8 linter and solved the errors, r=ahal
Before this change linting python/mozbuild brought about many errors. Some of this errors could be fixed using |mach lint --fix|. The remaining errors where fixed in this bug.

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

--HG--
extra : rebase_source : 8bd3d622d2221b981f08b8a080c1198b002cdc49
extra : amend_source : 3f6a70c1b7104a7c2d83e11fe911942771e331ea
2019-03-01 15:36:45 -05:00
Mike Hommey
6bfaa82f51 Bug 1531634 - Change how OMNIJAR_NAME is handled for fennec builds. r=nalexander
Fennec has a value of OMNIJAR_NAME that contains a directory, contrary
to other platforms, and relies in post-packaging, pre-unpacking steps to
accommodate with the difference.

With this change, we just make the packaging and unpacking steps aware
of this setup, and make allow them to pack/unpack resources in foo/
under foo/$OMNIJAR_NAME, whether $OMNIJAR_NAME is a file name or a path.

This will, further down the road, allow the packager code to handle jar
logs from PGO instrumentation without munging them.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 21:49:47 +00:00
Mike Shal
f63b51acd7 Bug 1525474 - Disallow filenames in LOCAL_INCLUDES; r=nalexander
The underlying backends only support directories in LOCAL_INCLUDES
(since these ultimately translate to -I arguments to the compiler). We
should disallow filenames here, in case a developer accidentally
specifies a header file instead of a directory.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 17:51:42 +00:00
Thomas Daede
7aecfc00e9 Bug 1529305 - Emit cv8 debug info with nasm even on mingw. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D21437

--HG--
extra : moz-landing-system : lando
2019-02-28 00:42:34 +00:00
Cosmin Sabou
6b5e2116b0 Merge autoland to mozilla-central. a=merge 2019-02-28 12:54:11 +02:00
Daniel Varga
e91fc4acc1 Merge autoland to mozilla-central. a=merge 2019-02-27 18:29:22 +02:00
Daniel Varga
e417e61290 Backed out changeset b59977d42a4d (bug 1521772) requested by Andi. a=backout 2019-02-27 18:27:08 +02:00
Mike Hommey
3f0f49376d Bug 1529799 - Prevent recursive resolution of options during imply_option. r=chmanchester
In cases like those in the added unit test, explicit options on the
command line could end up being silently ignored. So instead of that happening,
error out. Unfortunately, the error message is not entirely accurate,
but it's better than nothing. It's rare anyways (I only stumbled upon it
because I was trying to do something fishy), and correlation between the
error message and the corresponding changes should make it clear what's
going on.

Depends on D20822

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

--HG--
extra : moz-landing-system : lando
2019-02-26 22:05:24 +00:00
Mike Hommey
76ac8faa23 Bug 1529799 - Handle dependency loops involving imply_option more gracefully. r=chmanchester
Currently, when a dependency loop involve imply_option, it is possible
to end up with an error message saying the implied option is unknown,
when it fact it is. So instead of bailing out with a weird error
message, try to make things work (if the implied value is not different
from what's known), or bail with a more accurate message.

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

--HG--
extra : moz-landing-system : lando
2019-02-26 22:05:40 +00:00
Mike Hommey
c7022eb656 Bug 1530587 - Don't optimize jars without preloading/reordering data. r=chmanchester
Optimizing jars without preloading/reordering data only moves the
jar central directory to the beginning of the file, which, without
preloading information, is not very useful. Let's just stop doing it if
there's not going to be preloading/reordering information at all.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 01:26:46 +00:00
Kartikaya Gupta
bb22600a64 Bug 1530016 - Drop bogus entries from the generated-sources tarball. r=froydnj
On Android we apparently try to include the cpufeatures.c file from the
NDK as part of the generated-sources tarball. While this works, it makes
tar drop the bogus entry for safety reasons when unpacking the archive.
It also makes tar return an error, which is undesirable for searchfox.
It's better to just skip the entry when building the tarball.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 17:45:27 +00:00
Ted Mielczarek
0539de896a bug 1481614 - detect icecream usage in build telemetry. r=chmanchester,glandium
This patch adds detection for when icecream is in use to build telemetry.
icecream is commonly enabled in two ways: by either setting CC/CXX to point
to icecream's cc/c++ symlinks, or by setting adding
mk_add_options 'export CCACHE_PREFIX=icecc' to a mozconfig when also using
ccache. For the former, this patch adds a simple configure check to see
if CXX is a symlink to a file named 'icecc'. For the latter this patch adds
CCACHE_PREFIX as a configure subst to capture the value.

We don't currently have a facility for writing telemetry tests that depend on
configure values. Local manual testing shows that it does work as expected.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 19:06:27 +00:00
Mike Hommey
f4f3f52f4d Bug 1529195 - Allow to pass a different directory than $DIST to install artifacts to. r=chmanchester
Depends on D20446

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

--HG--
extra : moz-landing-system : lando
2019-02-21 22:53:31 +00:00
Mike Hommey
d3af9d50b9 Bug 1529195 - Allow to opt-in to symbols/host-bin artifacts from the CLI. r=chmanchester
and to opt-out of test artifacts.

Depends on D20445

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

--HG--
extra : moz-landing-system : lando
2019-02-21 22:53:43 +00:00
Mike Hommey
79bf8a087d Bug 1529195 - Remove the get_job_details function. r=chmanchester
It is now not useful to keep as a separate function.

Depends on D20444

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

--HG--
extra : moz-landing-system : lando
2019-02-21 22:53:59 +00:00
Mike Hommey
7e1a73e686 Bug 1529195 - Cache list of artifacts and task id for a given set of (tree, job, rev). r=chmanchester
Instead of having cache misses for all variables that may vary when
getting job details. While the currently used variables are mostly
constants, we're going to introduce some flexibility in an subsequent
change.

Depends on D20443

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

--HG--
extra : moz-landing-system : lando
2019-02-21 22:54:32 +00:00
Mike Hommey
b98e6f78b9 Bug 1529195 - Move per-job package regexp to per-platform. r=chmanchester
Once all tests regexp are gone, we come to realize that all the package
regexp are the same for each ArtifactJob subclass, some we move the
definitions to the subclasses.

Depends on D20442

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

--HG--
extra : moz-landing-system : lando
2019-02-21 22:54:42 +00:00
Mike Hommey
097ed542ab Bug 1529195 - Remove per-job tests regexp definition. r=chmanchester
Once the firefox-* and fennec-* regexp are gone, we come to realize
that all jobs have the same regexp for tests, so we can just
use that across the board and remove the definition from JOB_DETAILS.

Depends on D20441

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

--HG--
extra : moz-landing-system : lando
2019-02-21 22:54:49 +00:00
Mike Hommey
e266c550f5 Bug 1529195 - Remove artifact filters for firefox-* and fennec-*. r=chmanchester
The filters were added back when buildbot was still used, and some
artifacts were still using file names beginning with "firefox" or
"fennec".
That is not true now that all builds are on taskcluster, and for all of
them, they are now target.$ext.

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

--HG--
extra : moz-landing-system : lando
2019-02-21 22:55:08 +00:00
Mike Hommey
de6692d10a Bug 1528892 - Make preprocessor output more reproducible. r=froydnj
On CI, Windows builds start from different directories on every build,
except when sccache is enabled. This affects many build types, such as
l10n repacks, and the preprocessor likes to put full paths in its
output, which means it includes those different directories, making the
builds non reproducible.

This changes the preprocessor to replace the source and object
directories with generic strings.

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

--HG--
extra : moz-landing-system : lando
2019-02-21 05:09:52 +00:00
Mike Hommey
c71f4ec3ee Bug 1529139 - Mark .asm GENERATED_FILES as required_for_compile. r=froydnj
This will avoid trying to generate them during artifact builds.

Depends on D20587

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

--HG--
extra : moz-landing-system : lando
2019-02-21 00:12:52 +00:00
Marco Castelluccio
19bbc158b4 Bug 1491004 - Exclude Visual Studio files from coverage instrumentation. r=chmanchester,calixte,glandium
Differential Revision: https://phabricator.services.mozilla.com/D18511

--HG--
extra : moz-landing-system : lando
2019-02-20 12:18:56 +00:00
Marco Castelluccio
2dffc6b8bf Bug 1491004 - Set CFLAGS and CXXFLAGS in toolchain.configure for coverage builds. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D18510

--HG--
extra : moz-landing-system : lando
2019-02-20 12:18:32 +00:00
Csoregi Natalia
e2ff25bf86 Backed out changeset 88a27dc859b9 (bug 1529139) for bustage due to missing fficonfig.h. CLOSED TREE 2019-02-20 14:19:27 +02:00
Mike Hommey
49e3e41e5c Bug 1529139 - Mark .asm GENERATED_FILES as required_for_compile. r=froydnj
This will avoid trying to generate them during artifact builds.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 11:17:31 +00:00
Mike Hommey
41d0022e0c Bug 1528860 - Synchronize artifact command --job options with artifacts.JOB_DETAILS. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D20227
2019-02-20 07:46:41 +09:00
Mike Hommey
2ead86b7c1 Bug 1528241 - Add a trace mode to python configure that logs internal values. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D19940
2019-02-20 07:46:22 +09:00
Mike Hommey
b2f1a3fc7f Bug 1528194 - Run config.sub when split_target fails when not running it. r=mshal
In bug 1522354, we changed host and target detection to not invoke
config.sub, assuming the output from config.guess would satisfy our
needs in split_target.

It turns out that on some plaforms, that doesn't work out, so, while we
still skip config.sub, we now catch errors from split_target when doing
so, and try again after running config.sub when split_target fails.

Differential Revision: https://phabricator.services.mozilla.com/D19937
2019-02-20 07:46:17 +09:00
Mike Hommey
8a74f32d09 Bug 1528194 - Print mach-invoked pseudo-configure output when it fails. r=mshal
Since bug 1522788, mach invokes a part of configure as part of getting
mozconfig and target information for its own purpose. The problem is
that the sandboxed code may sys.exit(), which then makes mach silently
exit.

So when the sandboxed configure code does sys.exit(), instead of
silently failing, we catch the exit call, and print out what we
captured.

Differential Revision: https://phabricator.services.mozilla.com/D19936
2019-02-20 07:46:09 +09:00
Mike Hommey
4b2309140a Bug 1528123 - Allow artifact builds to pull from a specific taskid. r=chmanchester
Currently, artifact builds pull from some task they determine from the
job type, and finding a pushhead.

Sometimes that latter fails, most notably on automation. But automation
can already know the right task to use without guesswork.

This change allows artifact builds to pull from a specific taskid given
through an environment variable, and make tasks from the artifact-build
kind (not the --artifact builds from try) use that.

Remove the workaround from bug 1382982 because it's now dead code.

Differential Revision: https://phabricator.services.mozilla.com/D19881
2019-02-20 07:45:55 +09:00
Emilio Cobos Álvarez
61afcd6fcc Bug 1528643 - Fix mach clang-format -c in mercurial. r=sylvestre
Turns out hg diff works differently, and when Miko tried to use this
option last week he realized it didn't work quite as expected.

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

--HG--
extra : moz-landing-system : lando
2019-02-18 08:13:45 +00:00
Cosmin Sabou
8cb8ef3973 Merge mozilla-central to autoland. 2019-02-15 20:50:34 +02:00
Benjamin Bouvier
ab4bcb3e97 Bug 1521772: Run clang-format in parallel; r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D19943

--HG--
extra : moz-landing-system : lando
2019-02-15 16:32:48 +00:00
Daniel Varga
1e9aa9e1fc Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE
--HG--
rename : browser/components/nsBrowserContentHandler.js => browser/components/BrowserContentHandler.jsm
2019-02-15 03:51:05 +02:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Geoff Brown
7e2ceb9259 Bug 1527011 - Support win64-aarch64 artifact builds; r=nalexander 2019-02-12 18:03:38 -07:00
Andi-Bogdan Postelnicu
843d0d6fcf Bug 1527286 - For 'mach clang-format' don't pass files that we don't exist on the disk. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D19481

--HG--
extra : moz-landing-system : lando
2019-02-12 12:54:22 +00:00