Commit Graph

763 Commits

Author SHA1 Message Date
Chris Manchester
c843481e4b Bug 1578852 - Update wrench-deps to use rustc 1.37 r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D44929

--HG--
extra : moz-landing-system : lando
2019-09-06 20:08:52 +00:00
Edwin Takahashi
3607d54634 Bug 1565332 - add new dockerfile for debian 10 (buster) test image and add necessary piping without switching the main CI pipeline from ubuntu 16.04 r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D42597

--HG--
extra : moz-landing-system : lando
2019-08-31 09:59:43 +00:00
Nick Alexander
545bb000da Bug 1576971 - Fail browsertime toolchain harder. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D43655

--HG--
extra : moz-landing-system : lando
2019-08-28 20:58:19 +00:00
Nick Alexander
e09210e873 Bug 1534533 - Add geckodriver toolchain tasks. r=chmanchester
There was quite a bit of discussion of this in `#build` on IRC,
and the consensus was that geckodriver should be built as a
stand-alone Rust crate and not as part of Firefox/Gecko (say, as a new
--enable-project target). This follows that approach, and the
expression, modeled off of cbindgen but updated to cross compile from
a Linux host to all targets, is pretty straight-forward.

A sparse profile would be nice, but the way that the Gecko Cargo
workspace works means that the profile must accumulate Rust code from
many locations.

If we want to, eventually testing/geckodriver can be removed from the
top-level Rust workspace, the geckodriver-signing tasks migrated to
these toolchain tasks, consumers migrated to the signing tasks, and
geckodriver removed from the "common" test archive.

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

--HG--
rename : taskcluster/scripts/misc/vs-setup.sh => taskcluster/scripts/misc/vs-setup32.sh
extra : moz-landing-system : lando
2019-08-28 20:54:06 +00:00
Chris Manchester
de2343b7fc Bug 1572880 - Package dist-toolchains from a specific directory. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D43696

--HG--
extra : moz-landing-system : lando
2019-08-28 18:34:29 +00:00
Mike Hommey
8afaba2056 Bug 1575760 - Make mach vendor rust create a .cargo/config and check it in the tree. r=nalexander
Maybe back when .cargo/config.in was added, the directory indicated for
vendored crates needed to be absolute. That is at least not the case
with the current supported versions of rust.

The current setup has a few caveats:
- .cargo/config.in has shown to become stale (it currently contains
  multiple unused entries)
- non-gecko build tasks have to generate a .cargo/config on their own if
  they want to use vendored crates
- in turn, non-gecko build tasks that don't, may unknowingly get their
  dependencies from crates.io (see the recent attempt at moving
  geckodriver builds to a separate task).

By checking in a .cargo/config file, we can alleviate the last two, but
that comes at the price of `cargo update` not wanting to act when
.cargo/config exists, because of the source replacement configuration.

But rust vendor gently generates a suitable configuration on its own, so
we can use that to generate a .cargo/config automatically. Which
addresses the first caveat of the current setup. That leaves us with
`cargo update` not working out of the box, but that just requires people
running it to manually remove .cargo/config first. Which is arguably
what rust wants you to do in the first place. It's kind of incidental
that we started with a .cargo/config.in rather than .cargo/config.

Now, while a simple .cargo/config works, that's not enough for the case
where the objdir doesn't live inside the source directory. In that case
cargo looks for the configuration from the objdir, and fails to find it.
So we still need a .cargo/config.in, which we generate with a little
trick.

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

--HG--
rename : .cargo/config.in => .cargo/config
extra : moz-landing-system : lando
2019-08-26 22:20:32 +00:00
Dustin J. Mitchell
af8483e1ae Bug 1562686 - use AWS_IAM_CREDENTIALS_URL for all S3 sccache invocations r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41454

--HG--
extra : moz-landing-system : lando
2019-08-23 12:39:25 +00:00
Razvan Maries
3d74e341f9 Backed out 2 changesets (bug 1562686) as per glandium's request. CLOSED TREE
Backed out changeset 0ce37eda652a (bug 1562686)
Backed out changeset fe7b9445e1d3 (bug 1562686)
2019-08-22 02:43:16 +03:00
Dustin J. Mitchell
13f9bc563c Bug 1562686 - use AWS_IAM_CREDENTIALS_URL for all S3 sccache invocations r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41454

--HG--
extra : moz-landing-system : lando
2019-08-20 14:03:12 +00:00
Razvan Maries
cff855aa9c Backed out changeset 91eca815c9fc (bug 1562686) for build bustages. CLOSED TREE 2019-08-16 22:38:19 +03:00
Dustin J. Mitchell
ad85abed68 Bug 1562686 - use AWS_IAM_CREDENTIALS_URL for all S3 sccache invocations r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41454

--HG--
extra : moz-landing-system : lando
2019-08-16 17:17:02 +00:00
Mike Hommey
515ab2e11d Bug 1574128 - Fixup for bug 1573435 to unbust webrender-windows jobs. r=me
MANUAL PUSH: Fix bustage on inbound.
2019-08-15 20:09:27 +09:00
Mike Hommey
8d5dc26045 No bug - Bustage fix for Windows gn builds. r=me
MANUAL PUSH: This fixes bustage on inbound on a CLOSED TREE.
2019-08-15 12:25:32 +09:00
Mike Hommey
c173540215 Bug 1573435 - Use toolchain fetches for all remaining toolchain uses. r=nalexander
The remaining uses all need adjustements to in-tree mozconfigs, so they
all need to be done at once.

However, to make things slightly more intelligible, we do this in two
steps. This is step 1: we modify the use_toolchain transform to take care of
the transformation, while keeping the task definitions intact, so that
we only deal with mozconfig and build script adjustements here.

Differential Revision: https://phabricator.services.mozilla.com/D41890
2019-08-15 11:21:52 +09:00
Mike Hommey
57a88cbf46 Bug 1573435 - Use toolchain fetches for source-test builds. r=nalexander
While here, use GECKO_PATH instead of $HOME/checkouts/gecko.

Differential Revision: https://phabricator.services.mozilla.com/D41889
2019-08-15 11:21:51 +09:00
Mike Hommey
6257ba9912 Bug 1573435 - Use toolchain fetches for spidermonkey builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D41739
2019-08-15 11:21:50 +09:00
Mike Hommey
9b57b7f93c Bug 1573435 - Use toolchain fetches for hazard builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D41738
2019-08-15 11:21:49 +09:00
Mike Hommey
ab2269d011 Bug 1469697 - s/GECKO_DIR/GECKO_PATH/ for hazard build scripts. r=nalexander
Most other tasks use GECKO_PATH, as that's what run-task uses.

Differential Revision: https://phabricator.services.mozilla.com/D41725
2019-08-15 11:21:45 +09:00
Mike Hommey
fb26d1619a Bug 1469697 - Use run-task transform for spidermonkey tasks. r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D41724
2019-08-15 11:21:44 +09:00
Mike Hommey
f56829593a Bug 1573375 - Normalize paths run-task sets in the environment on Windows. r=tomprince
Using forward slash for better support in shell scripts.

Differential Revision: https://phabricator.services.mozilla.com/D41707
2019-08-15 11:21:41 +09:00
Mike Hommey
94532ae09f Bug 1573375 - Wrap fetch-content output in run-task. r=tomprince
Like the output from other subcommands.

Differential Revision: https://phabricator.services.mozilla.com/D41706
2019-08-15 11:21:40 +09:00
Mike Hommey
a4e51ec9ee Bug 1572381 - Use the same tooltool manifest for webrender as for other tasks using vs2017. r=nalexander
It turns out this task doesn't use cmake or ninja (anymore?).

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

--HG--
extra : moz-landing-system : lando
2019-08-12 16:13:15 +00:00
Mike Hommey
648907c1b4 Bug 1571986 - Kill vctip at the end of more tasks. r=nalexander
Also, since we had problems with mspdbsrv in the past, kill it too.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 16:06:42 +00:00
Mike Hommey
d2cebb5e64 Bug 1571986 - Kill vctip at the end of the wrench-windows task. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D41165

--HG--
extra : moz-landing-system : lando
2019-08-08 15:40:17 +00:00
Dustin J. Mitchell
b6c8e578bf Bug 1572132 - fix URL generation in fetch-content r=glandium
MANUAL PUSH: to allow docker images to build without closing autoland

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

--HG--
extra : rebase_source : 60ae00549917411d1839b6e3f8e6ae962d217470
extra : amend_source : a2531b115f5732345f8c34c88669428510d100a4
2019-08-07 15:53:15 +00:00
Mike Hommey
bf3d27d7b7 Bug 1571986 - Add some info to try to find what is going on. r=me
MANUAL PUSH: because it starts happening with something that landed on inbound.
2019-08-07 16:52:55 +09:00
Mike Hommey
d931e57c8e Bug 1571596 - Reduce the number of toolchain scripts for GCC. r=nalexander
Now that all GCC and related source tarballs extract to paths
independent of their version number, the scripts are all very
look-alike, so they can be consolidated.

Differential Revision: https://phabricator.services.mozilla.com/D40749
2019-08-07 13:54:27 +09:00
Mike Hommey
375094b924 Bug 1571596 - Repack GCC and related source tarballs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40748
2019-08-07 13:54:27 +09:00
Mike Hommey
b3c14183b8 Bug 1571589 - Allow simple manipulation of file paths in fetched archives. r=tomprince
Namely:
- adding a prefix,
- stripping path components.

Differential Revision: https://phabricator.services.mozilla.com/D40741
2019-08-07 13:54:26 +09:00
Mike Hommey
890f87dad8 Bug 1571589 - Allow to repack downloaded archives "on the fly". r=tomprince
Bug 1479533 was proposing to add a similar functionality, but this
iteration avoids actually unpacking anything, and ensures
reproducibility by relying on the reproducible bits from the original
archives: file ordering, flags, etc. (since they are checksummed, those
are never going to change for a given archive).

Another notable difference is that this applies the repack on the fetch
task itself, rather than create a separate task to apply the repack. The
latter has advantages, in that it allows to change the repacking without
redownloading the original file from a third-party server, but in
practice, most changes to the repacking would trigger the download tasks
anyways.

This patch only takes care of changing the archive type (zip->tar), and
the compression type (anything->zstandard).

Differential Revision: https://phabricator.services.mozilla.com/D40740
2019-08-07 13:54:25 +09:00
Mike Hommey
525bccdd60 Bug 1571589 - Abstract opening a temporary file and renaming it after close. r=tomprince
And use that in git_checkout_archive.

Differential Revision: https://phabricator.services.mozilla.com/D40739
2019-08-07 13:54:24 +09:00
Mike Hommey
34a2eebc79 Bug 1571589 - Use urlparse rather relying on just splitting on / being enough. r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D40738
2019-08-07 13:54:23 +09:00
Mike Hommey
57786654e0 Bug 1571562 - Use toolchain fetches instead of use_toolchain references in toolchain task definitions. r=nalexander
And remove the use of tooltool-download where it's not needed anymore.

Differential Revision: https://phabricator.services.mozilla.com/D40714
2019-08-07 13:54:20 +09:00
Mike Hommey
0d49eb3466 Bug 1571562 - Make tooltool-download.sh download and extract to MOZ_FETCHES_DIR. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40712
2019-08-07 13:54:18 +09:00
Mike Hommey
034e9b6b7b Bug 1570541 - Use git fetch tasks for clang. r=froydnj
What this means is that the sources for clang/llvm are downloaded
separately from the toolchain build (which also means we finally only
download a given version of clang once for all platforms).

In turn, this means the build-clang.py script needs to start with an
existing llvm-project tree, and we choose to make build-clang.py expect
that it's run from the llvm-project root directory.

This also means we don't need to download git for the windows toolchain
task.

Differential Revision: https://phabricator.services.mozilla.com/D40402
2019-08-07 13:54:15 +09:00
Mike Hommey
a57cc9b49f Bug 1570541 - Use tarfile in fetch-content on Windows. r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D40401
2019-08-07 13:54:14 +09:00
Mike Hommey
246fa80fb3 Bug 1570598 - Reduce the number of scripts used to build clang toolchains. r=froydnj
They are now all very similar, and there are only a few variations.

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

MANUAL PUSH: avoid closing autoland while toolchains are rebuilt.
2019-08-03 07:08:50 +09:00
Mike Hommey
9b84c9014f Bug 1570598 - Pass the clang json file as an argument to the toolchain script. r=froydnj
Make the argument use the same format as resources, so move the
sub-script invocation accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D40364
2019-08-03 07:08:49 +09:00
Mike Hommey
98bd74773e Bug 1570598 - Consistently use GECKO_PATH and MOZ_FETCHES_DIR in toolchain scripts. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40187
2019-08-03 07:08:48 +09:00
Mike Hommey
e2daeefe33 Bug 1570598 - Use a common setup file for Visual Studio in toolchain scripts. r=nalexander
This has the side effect of making gn a 64-bits binary. Keeping it
32-bits is not worth the effort.

Differential Revision: https://phabricator.services.mozilla.com/D40186
2019-08-03 07:08:47 +09:00
Mike Hommey
7c09816a13 Bug 1570598 - Make windows clang toolchain tasks download artifact from GECKO_PATH. r=nalexander
This makes the setup used by these builds more similar to everywhere
else, making subsequent improvements easier.

Differential Revision: https://phabricator.services.mozilla.com/D40185
2019-08-03 07:08:46 +09:00
Mike Hommey
65e385dc5d Bug 1570598 - Use GECKO_PATH instead of WORKSPACE/build/src in tooltool-download.sh. r=nalexander
This removes the need for the hacks in wr-macos-cross-build-setup.sh and
wrench-windows-tests.sh, while keeping things working in other scripts.

Differential Revision: https://phabricator.services.mozilla.com/D40184
2019-08-03 07:08:46 +09:00
Mike Hommey
9648466042 Bug 1570240 - Use a fetch task artifact for android-rs-glue source. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40034
2019-08-03 07:08:45 +09:00
Mike Hommey
ebf4f74742 Bug 1570240 - Use fetch tasks' artifacts for clang-8-mingw sources. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40033
2019-08-03 07:08:44 +09:00
Mike Hommey
f2d5d3ee9e Bug 1570240 - Use a fetch task artifact to get fxc2 source. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40032
2019-08-03 07:08:43 +09:00
Mike Hommey
7aad59e35d Bug 1570240 - Use fetch tasks' artifacts to get sccache and openssl source. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D40031
2019-08-03 07:08:43 +09:00
Mike Hommey
5096ed0b29 Bug 1570240 - Use a fetch task artifact to get grcov source. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40030
2019-08-03 07:08:42 +09:00
Mike Hommey
89e989fe7c Bug 1570240 - Use a fetch task artifact to get gn source. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40029
2019-08-03 07:08:41 +09:00
Mike Hommey
fd9831be96 Bug 1570240 - Use a fetch task artifact to get rust-size source. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40028
2019-08-03 07:08:40 +09:00
Mike Hommey
99201dd8a2 Bug 1570240 - Use the fetch task artifact for cbindgen source. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40027
2019-08-03 07:08:40 +09:00