Commit Graph

332 Commits

Author SHA1 Message Date
Andrew Halberstadt
dbbfae76db Bug 1461980 - [taskgraph] Add ability to download artifacts from dependencies in run-task script, r=dustin
This adds a 'use-artifacts' key to the run_task schema. Tasks can specify artifacts to download like this:

run:
    using: run-task
    use_artifacts:
        build:
            - target.tar.bz2
            - target.common.tests.zip
            - target.mochitest.tests.zip

This will cause the run-task script to download those three artifacts from the task's 'build' dependency.
If the task doesn't have a 'build' dependency, taskgraph generation will error. The artifacts will be
downloaded into $USE_ARTIFACT_PATH. It is up to the task to do whatever extracting/setup may be required.
E.g this setup could go in the task's command.

At this time, only 'run-task' tasks using docker-worker are supported.

MozReview-Commit-ID: 3f02oCys62i

--HG--
extra : rebase_source : e8a85040e45042b537d4119334c4a8b7280b295c
2018-05-17 10:04:23 -04:00
Chris AtLee
abedb6c83d Bug 1237182: remove mock(chroot) support r=Callek
--HG--
extra : source : 806b003761cee8d8f0bc1da6405caf8000708be9
extra : intermediate-source : bbf1842aa32ec180664a714e415775947e39849c
2018-05-16 12:31:33 -04:00
Gregory Szorc
fdb1c18e80 Bug 1460470 - Make run-task Python 3.5+ only; r=mshal
A try push converting run-task to Python 3 seemed to complete without
error.

Since it is annoying writing code that needs to work on both Python
2 and 3, let's require Python 3 and remove code for supporting Python 2.

We implement a version check enforcing Python 3.5+. This is because
we're supposed to be standardizing on 3.5+ everywhere. I want to
prevent accidental usage of older Python 3 versions.

MozReview-Commit-ID: 4vATLZ6Si2e

--HG--
extra : source : 94a9641c5a018cfe729ebe748e75a7c4373e4322
2018-05-11 10:19:53 -07:00
Gregory Szorc
d10cd93f47 Bug 1460470 - Change run-task to use Python 3 by default; r=mshal
Python 3 is the future.

MozReview-Commit-ID: APuu4Q3mimj

--HG--
extra : source : 33fe8423f88cb8158559bc736d89b4849b57d315
2018-05-09 17:26:40 -07:00
Gregory Szorc
f661f06851 Bug 1460470 - More run-task Python 3 porting; r=mshal
Mostly normalization of str and bytes. Python 3 is annoying for
systems level code where most things are bytes.

MozReview-Commit-ID: KpvZGegBkYn

--HG--
extra : source : 4902cab3ce5dab2d1756cf0cd5c95f40603c0a0e
2018-05-09 21:15:36 -07:00
Gregory Szorc
64d4b487a4 Bug 1460470 - Make run-task somewhat usable on Python 3; r=mshal
This required a lot of attention to bytes versus strings.

The hacks around handling process output are somewhat gross. Apparently
readline() doesn't work on bytes streams in Python 3?! So we install a
custom stream decoder so we can have nice things.

There are still some failures in run-task on Python 3. But we're a big
step closer.

MozReview-Commit-ID: 4FJlTn3q9Ai

--HG--
extra : source : 19fe5702cf6d018b743108b35e86d1750f205a76
2018-05-16 11:06:36 -07:00
Gregory Szorc
526949a0ad Bug 1460470 - Make run-task compile on Python 3; r=mshal
The file failed to compile due to octal syntax and missing imports.
After this change, we get a run-time error, which is strictly better.

MozReview-Commit-ID: nY9A13Pt3E

--HG--
extra : source : ef477a048b575958be74287a2273830813b385f1
2018-05-16 13:57:08 -07:00
Ciure Andrei
5c13bf1ff4 Backed out 5 changesets (bug 1460470) for toolchains bustages a=backout CLOSED TREE
Backed out changeset 94a9641c5a01 (bug 1460470)
Backed out changeset 33fe8423f88c (bug 1460470)
Backed out changeset 4902cab3ce5d (bug 1460470)
Backed out changeset 19fe5702cf6d (bug 1460470)
Backed out changeset ef477a048b57 (bug 1460470)
2018-05-17 01:04:29 +03:00
Gregory Szorc
0023204ad1 Bug 1460470 - Make run-task Python 3.5+ only; r=mshal
A try push converting run-task to Python 3 seemed to complete without
error.

Since it is annoying writing code that needs to work on both Python
2 and 3, let's require Python 3 and remove code for supporting Python 2.

We implement a version check enforcing Python 3.5+. This is because
we're supposed to be standardizing on 3.5+ everywhere. I want to
prevent accidental usage of older Python 3 versions.

MozReview-Commit-ID: 4vATLZ6Si2e

--HG--
extra : rebase_source : d1450979e636387a5fdbd80ba19a92ec4fd31088
extra : histedit_source : 62910e29cc2fff0a1db0e9521cc58b200406d393
2018-05-11 10:19:53 -07:00
Gregory Szorc
9b265e41ee Bug 1460470 - Change run-task to use Python 3 by default; r=mshal
Python 3 is the future.

MozReview-Commit-ID: APuu4Q3mimj

--HG--
extra : rebase_source : 79839dc7f3ec130e467f1d0aa268bf3912cc1c8f
extra : histedit_source : 4be41658b5debaa6165228f60f09a9d1bf53ddbb
2018-05-09 17:26:40 -07:00
Gregory Szorc
84b3320347 Bug 1460470 - More run-task Python 3 porting; r=mshal
Mostly normalization of str and bytes. Python 3 is annoying for
systems level code where most things are bytes.

MozReview-Commit-ID: KpvZGegBkYn

--HG--
extra : rebase_source : aa50a6cd1337fe604015131b053234a2db642e57
extra : histedit_source : 8481b23bde4f408a59c623b8be43ee0611492afd
2018-05-09 21:15:36 -07:00
Gregory Szorc
b300a4a11d Bug 1460470 - Make run-task somewhat usable on Python 3; r=mshal
This required a lot of attention to bytes versus strings.

The hacks around handling process output are somewhat gross. Apparently
readline() doesn't work on bytes streams in Python 3?! So we install a
custom stream decoder so we can have nice things.

There are still some failures in run-task on Python 3. But we're a big
step closer.

MozReview-Commit-ID: 4FJlTn3q9Ai

--HG--
extra : rebase_source : 1a45b158fb625c7fd86701736b16da8df122218d
extra : histedit_source : f66fb22e86caf9b6b3cb301bedeab0b709685ef3
2018-05-16 11:06:36 -07:00
Gregory Szorc
247b0d8be5 Bug 1460470 - Make run-task compile on Python 3; r=mshal
The file failed to compile due to octal syntax and missing imports.
After this change, we get a run-time error, which is strictly better.

MozReview-Commit-ID: nY9A13Pt3E

--HG--
extra : rebase_source : 074cbf7daaed820bd330b6850d28acd766b3801a
extra : histedit_source : e10c0a14f55148dd3e57a194d262ded41c038ee5
2018-05-16 13:57:08 -07:00
Tom Ritter
65a58e425c Bug 1460668 Bump MinGW to capture the CD3D11_BLEND_DESC fix r=froydnj
MozReview-Commit-ID: 83igqfjKm6O

--HG--
extra : rebase_source : 1f800310e562b5d1ba76bc5693e648eb63a44fac
2018-05-16 13:43:29 -05:00
Ciure Andrei
e2adc25ccb Backed out 5 changesets (bug 1460470) for gps: image build failures a=backout CLOSED TREE
Backed out changeset 07a3e76abc8c (bug 1460470)
Backed out changeset 94c3b68ccc48 (bug 1460470)
Backed out changeset 88324086394e (bug 1460470)
Backed out changeset 16d15b4b97fa (bug 1460470)
Backed out changeset ebd569c9d870 (bug 1460470)
2018-05-16 22:29:17 +03:00
Gregory Szorc
b3529e86ca Bug 1460470 - Make run-task Python 3.5+ only; r=mshal
A try push converting run-task to Python 3 seemed to complete without
error.

Since it is annoying writing code that needs to work on both Python
2 and 3, let's require Python 3 and remove code for supporting Python 2.

We implement a version check enforcing Python 3.5+. This is because
we're supposed to be standardizing on 3.5+ everywhere. I want to
prevent accidental usage of older Python 3 versions.

MozReview-Commit-ID: 4vATLZ6Si2e

--HG--
extra : rebase_source : bbf3a0bd6cc881002d38c58eef64636c5efa6712
2018-05-11 10:19:53 -07:00
Gregory Szorc
abb76d95f9 Bug 1460470 - Change run-task to use Python 3 by default; r=mshal
Python 3 is the future.

MozReview-Commit-ID: APuu4Q3mimj

--HG--
extra : rebase_source : f204a712466f10149b35e125d9ceb181e0f420b7
2018-05-09 17:26:40 -07:00
Gregory Szorc
836b5bdad3 Bug 1460470 - More run-task Python 3 porting; r=mshal
Mostly normalization of str and bytes. Python 3 is annoying for
systems level code where most things are bytes.

MozReview-Commit-ID: KpvZGegBkYn

--HG--
extra : rebase_source : 6bda98911cf32ce1bc3d651805b473aff18bf1f9
2018-05-09 21:15:36 -07:00
Gregory Szorc
dd1809c1fd Bug 1460470 - Make run-task somewhat usable on Python 3; r=mshal
This required a lot of attention to bytes versus strings.

The hacks around handling process output are somewhat gross. Apparently
readline() doesn't work on bytes streams in Python 3?! So we install a
custom stream decoder so we can have nice things.

There are still some failures in run-task on Python 3. But we're a big
step closer.

MozReview-Commit-ID: 4FJlTn3q9Ai

--HG--
extra : rebase_source : 38d5626574d924c25e3fb4eecf29d379c2678e0d
2018-05-16 11:06:36 -07:00
Gregory Szorc
65a310206f Bug 1460470 - Make run-task compile on Python 3; r=mshal
The file failed to compile due to octal syntax and missing imports.
After this change, we get a run-time error, which is strictly better.

MozReview-Commit-ID: nY9A13Pt3E

--HG--
extra : rebase_source : b13d859ffaa2d10795312ff5a0f3ebbd5ca06835
2018-05-09 16:14:28 -07:00
Geoff Brown
bd4f5cfdbf Bug 1460411 - Add kvm to desktop1604-test image; r=jmaher
Our normal ubuntu 16.04 test image is suitable for hosting an Android x86
emulator with these minor updates: Install kvm and make sure /dev/kvm
rw permissions are open for everyone. Note that /dev/kvm is generally
only visible when running docker with --privileged; its permissions
cannot be modified in the Dockerfile, only at run-time: run-task is the
first opportunity.
2018-05-15 09:57:27 -06:00
Gregory Szorc
f1f60ea6e5 Bug 1459737 - Assert that volumes aren't used on Windows; r=dustin
Volumes are a docker-worker concept. They shouldn't be encountered on
Windows, which uses generic-worker.

MozReview-Commit-ID: KUdSxVHVJQ

--HG--
extra : rebase_source : ff54131d471ae2ae2465b11ca5ba6e787f5d11de
2018-05-04 18:02:54 -07:00
Gregory Szorc
d427f004f7 Bug 1459737 - Move volume configuration to standalone function; r=dustin
Do to volumes what we did to caches.

MozReview-Commit-ID: 7s4nYPC27nk

--HG--
extra : rebase_source : 8c71459a4854a9de0f74469eb3655d8293554cfd
2018-05-04 18:00:44 -07:00
Gregory Szorc
b21421f3de Bug 1459737 - Move cache configuration to standalone function; r=dustin
main() is quite long. And the control flow will become more complicated
as we support Windows.

Let's move the bulk of the cache configuration code into a standalone
function so main() is less cluttered.

MozReview-Commit-ID: xredCubr1E

--HG--
extra : rebase_source : 385fe6fe9e083cf585edc922b1fa26355d580c02
2018-05-04 17:54:07 -07:00
Gregory Szorc
389a573533 Bug 1459737 - Require to run on root on POSIX platforms; r=dustin
The code for cache and volume normalization makes assumptions that uid
and gid are defined. They are not defined if not running as root and
Python would crash in these code paths.

So, presumably this means that all tasks using run-task are running as
root. Let's codify that requirement.

This requirement is arbitrary. But let's not scope bloat run-task to
support scenarios until we need them.

MozReview-Commit-ID: 2uW4OSovzWi

--HG--
extra : rebase_source : 56ced8ecbd0eef3a55dc68413f4eab7601756cc0
2018-05-04 17:47:09 -07:00
Gregory Szorc
d4ef29a704 Bug 1459737 - Move closure to module-level function; r=dustin
MozReview-Commit-ID: 2Z2qL8LaEno

--HG--
extra : rebase_source : 84dbe9f1dce931e856c6aa84d305523034aa2ae9
2018-05-04 17:41:45 -07:00
Gregory Szorc
faf43ccbf6 Bug 1459737 - Teach run-task where to find Mercurial on Windows; r=dustin
Because we can't rely on it being in %PATH%.

MozReview-Commit-ID: H6sMdX7XO5Q

--HG--
extra : rebase_source : 7d97a0eae39e92ef95f6367ef673dd72359f516c
2018-05-04 17:33:19 -07:00
Gregory Szorc
69823158e7 Bug 1459737 - Make run-task more runnable on non-POSIX platforms; r=dustin
I want to make run-task work on Windows. The script is currently very
POSIX oriented, as it assumes the existence of the grp and pwd modules,
that user IDs are numeric, and that system calls like setresgid() and
setresuid() are available, etc.

This commit starts to make some of the POSIX-centric code conditional
on running on POSIX.

Code for uid/gid extraction has been moved to its own function. Some
error messages were tweaked slightly as part of the move. Otherwise,
the changes should be pretty straightforward.

There are still other parts of this file that won't work on e.g.
Windows. But this gets us a big step closer.

MozReview-Commit-ID: HNyytKcBbBo

--HG--
extra : rebase_source : 01d653c801865e36e562a8de4c9e6d6962498f19
2018-05-04 17:11:53 -07:00
Gregory Szorc
5d87fc997f Bug 1459737 - Move run-task into taskcluster/scripts; r=dustin
In preparation for making it usable on Windows, after which point
having it in a directory with "docker" in it doesn't make much sense.

MozReview-Commit-ID: Hgu0buFyJwF

--HG--
rename : taskcluster/docker/recipes/run-task => taskcluster/scripts/run-task
extra : rebase_source : 3c0b502d28b5aad54bd04069efbfda88e25bbb20
2018-05-04 17:23:31 -07:00
Robin Templeton
8f61a2db7d Bug 1455795 - Remove the AUTOMATION option from mozjs_sys's build.rs. r=sfink
This option shouldn't be used for local builds (see bug 1294157). Set
the option from the crate's taskcluster script instead, so that it's
used only for automated builds.

--HG--
extra : rebase_source : 94b398a0f1fac60094269d755735c426ecc63e17
2018-04-24 18:04:00 -04:00
Tom Prince
9203ed3c58 Bug 1456234: [mozharness] Process EXTRA_MOZHARNESS_CONFIG even if no files are specified; r=aki
This will allow mozharness configs to be specified exclusively in the taskgraph.

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

--HG--
extra : rebase_source : a3a9b6cc9d1004c4bd396fccc3e4354a7316651d
extra : source : 10acd193df92b7c495789dc24157b85f116ade5e
2018-04-23 17:39:35 -06:00
Steve Fink
2c3ce821ef Bug 1455201 - Propagate failure out of set -e region and add verbose logging to autospider.py, r=jonco
--HG--
extra : rebase_source : 3b2b301e45e555de489ac26bc22e1e1e181c6357
2018-04-19 11:20:26 -07:00
Masatoshi Kimura
1dfe932b7e Bug 1451931 - Add gcc/lib64 to the LD_LIBRARY_PATH of sm-rust-binding. r=glandium
MozReview-Commit-ID: 6VdXCtBDiQ8

--HG--
extra : rebase_source : f3e35a9a37e5f0b7f566dcfc0aa28de1d08bea50
2018-04-06 22:02:50 +09:00
Mike Hommey
be4f305f62 Bug 1445536 - Add a toolchain job for GCC 7. r=froydnj
And adapt the build-gcc.sh script for the changes to
contrib/download_prerequisites.

--HG--
rename : taskcluster/scripts/misc/build-gcc-6-linux.sh => taskcluster/scripts/misc/build-gcc-7-linux.sh
extra : rebase_source : b1d785777b8c141c0eb0f52a73734abd2db21b94
2018-03-14 09:37:27 +09:00
Gregory Szorc
18e72cea88 Bug 1449629 - Use -L when downloading OpenSSL; r=glandium
The URL is now being redirected to
https://www.openssl.org/source/old/1.1.0/openssl-1.1.0g.tar.gz. Let's
add a -L so we follow redirects automatically.

MozReview-Commit-ID: AuZ98jGidzl

--HG--
extra : rebase_source : 07e61558024e789df45d8e2ab67ab5ad9d3d355b
2018-04-02 19:22:07 -07:00
Steve Fink
4fa97cae2b Update sixgill to ab06fc42cf0f for bug 1450379, r=bhackett
--HG--
extra : rebase_source : 5be473dc5253fe69db3ab745ce31255d966e6459
2018-03-30 15:33:15 -07:00
Steve Fink
b1be1f1ac9 Bug 1449066 - Switch hazard builds to GCC 6, r=froydnj
--HG--
extra : rebase_source : 312938733bbf76c3c9c2fc2ec35ba0b88e6f89de
2018-03-28 18:15:51 -07:00
Mike Shal
1d3020acd2 Bug 1387098 - Tup toolchain task; r=froydnj
Build the latest tup master branch with the LD_PRELOAD dependency
checker.

MozReview-Commit-ID: ALfnnmOZrky

--HG--
extra : rebase_source : 529d4392ef73e03f66fb76f089f8b88f45b44972
2018-02-20 11:12:08 -05:00
Ted Mielczarek
bd3e9df16c bug 1446665 - update sccache to pick up a fix for a PGO build failure. r=froydnj
MozReview-Commit-ID: 5uCjHMZc7JJ

--HG--
extra : rebase_source : f8aa60cca3992707e056460b01ac470cd79fc385
2018-03-23 11:37:47 -04:00
Ted Mielczarek
44322b0b23 bug 1445631 - update sccache to pick up a fix in the jobserver crate. r=chmanchester
MozReview-Commit-ID: JtHea27GTTq

--HG--
extra : rebase_source : e7b08d6b6b765c0447aadfaa7f4f606676806c73
2018-03-16 13:41:52 -04:00
Steve Fink
de4adccfc7 Bug 1444543 - toolchain: build sixgill for gcc 6.4.0, r=glandium
--HG--
extra : rebase_source : fa2f7acf63e99544b95c6a896ba015c52c04f7ae
2018-03-06 10:15:29 -08:00
Steve Fink
03dedf49bb Bug 1443233 - Update sixgill to use same qualification settings for all type printing, r=bhackett
--HG--
extra : rebase_source : 16d1361a8a020ba3d4a37e867dfa1cc7f75c92dd
2018-03-06 08:37:02 -08:00
Ted Mielczarek
f51415ef1d bug 1445218 - update sccache to 0.2.6. r=froydnj
MozReview-Commit-ID: FxFmXcAHC5A

--HG--
extra : rebase_source : b01b5aca229547dc1b4de14ec36df54d806cf7e6
2018-03-13 08:31:06 -04:00
David Major
8483a27743 Bug 1443827: Move clang-cl static analysis builds to their own toolchain task. r=froydnj
Note that static analysis was the only remaining user of the 32-bit toolchain, so I've removed win32-clang-cl (or rather, renamed it to win32-clang-cl-st-an).

--HG--
rename : build/build-clang/clang-win32.json => build/build-clang/clang-win32-st-an.json
rename : build/build-clang/clang-win64.json => build/build-clang/clang-win64-st-an.json
rename : taskcluster/scripts/misc/build-clang32-windows.sh => taskcluster/scripts/misc/build-clang32-st-an-windows.sh
rename : taskcluster/scripts/misc/build-clang64-windows.sh => taskcluster/scripts/misc/build-clang64-st-an-windows.sh
2018-03-08 17:25:52 -05:00
Steve Fink
de379f365d Bug 1442786 - Prevent set -e from leaking into calling scripts, r=nbp
--HG--
extra : rebase_source : 55509978a275e2ed32bf1d7289811ebfdd9e261c
2017-11-21 12:47:51 -08:00
Ralph Giles
2d2defe3df Bug 1428197 - Reject generic channels in rust repack jobs. r=glandium
Ensure better determinism when creating rust toolchain packages
by rejecting generic channels like 'stable' or 'nightly'. Instead,
insist on a specific version or date.

The current valid dates for beta and nightly can be obtained with:

curl -s https://static.rust-lang.org/dist/channel-rust-beta.toml | grep ^date
curl -s https://static.rust-lang.org/dist/channel-rust-nightly.toml | grep ^date

MozReview-Commit-ID: I0DXw1KJGZz

--HG--
extra : rebase_source : 92e158193072582b8568d9c9f00ffdefa0af1a9c
2018-02-26 16:54:36 -08:00
Nick Alexander
daf2cc6ccf Bug 1440428 - Remove Proguard JAR entirely. r=jchen
The Proguard dependency is now managed by Gradle.

MozReview-Commit-ID: EOvKSE5z28P

--HG--
extra : rebase_source : 760b117f500cc639cc8c24e9c02933990f358dd7
2018-02-26 11:37:41 -08:00
Jesse Schwartzentruber
5b70ea834b Bug 1425406 - Add a linux64 clang 6 (pre) toolchain with the macosx64 native sanitizer dylibs. r=froydnj
MozReview-Commit-ID: Ig9xpBDcjNu

--HG--
extra : rebase_source : 278bd4fffb82d12e1bc4eb72458bdac3ba62e11f
2018-02-08 16:58:12 -05:00
Mike Hommey
e972446107 Bug 1436208 - Avoid infinite loops in llvm-dsymutil when rust produces broken self-referencing DIEs. r=nalexander
See some details on https://bugs.llvm.org/show_bug.cgi?id=36257.

--HG--
extra : rebase_source : 1ffd99e0d52bca74449760e39138af843c837a1b
2018-02-07 08:23:10 +09:00
Nathan Froyd
38a5bb5c84 Bug 1412006 - part 3 - add an Android NDK repackaging task; r=dustin,nalexander; f=glandium
We'd like to install the NDK through the Android SDK manager.  But we
can't pin versions of the NDK with the SDK manager, and so Google
can silently upgrade the NDK on us.  Since that is undesirable, this is
the next best thing.

With the toolchain task in hand, we can make all the relevant tasks
depend on the toolchain task and remove the download of the NDK from
tooltool as well.
2018-02-01 09:59:23 -05:00