Commit Graph

92 Commits

Author SHA1 Message Date
Mike Hommey
33610741ba Bug 1513157 - Don't install minidump_stackwalk in the Ubuntu test image. r=gps,ted
Differential Revision: https://phabricator.services.mozilla.com/D14133

--HG--
extra : moz-landing-system : lando
2018-12-11 22:52:12 +00:00
Gregory Szorc
53543bee19 Bug 1512075 - Upgrade to Mercurial 4.8.1; r=ted
This was released a few minutes ago. It contains some fixes necessary to support
partial clones.

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

--HG--
extra : moz-landing-system : lando
2018-12-04 23:31:26 +00:00
Gregory Szorc
67bc92af82 Bug 1505579 - Upgrade Docker images to Mercurial 4.8; r=sheehan
We need to run Mercurial 4.8 so we can start using SQLite storage
and wire protocol version 2 for partial clones.

--auto-deconfigure was added because desktop1604-test now inherits
from a base image with Mercurial installed.

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

--HG--
extra : moz-landing-system : lando
2018-12-04 21:34:50 +00:00
Ciure Andrei
5f24ab251d Backed out changeset 5c22ecb14543 (bug 1505579) for docker image bustages CLOSED TREE 2018-12-04 21:44:13 +02:00
Gregory Szorc
305a96b279 Bug 1505579 - Upgrade Docker images to Mercurial 4.8; r=sheehan
We need to run Mercurial 4.8 so we can start using SQLite storage
and wire protocol version 2 for partial clones.

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

--HG--
extra : rebase_source : 712fa08226f74ef9cfe306b7c68ff3dd3f54d9d3
extra : source : a438eff7d106f25a951c690c22f30b37d40d54a6
2018-11-09 03:53:26 +00:00
Noemi Erli
d5165d5f53 Backed out changeset a438eff7d106 (bug 1505579) for breaking Docker images CLOSED TREE 2018-11-15 08:09:55 +02:00
Gregory Szorc
7698680404 Bug 1505579 - Upgrade Docker images to Mercurial 4.8; r=sheehan
We need to run Mercurial 4.8 so we can start using SQLite storage
and wire protocol version 2 for partial clones.

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

--HG--
extra : moz-landing-system : lando
2018-11-09 03:53:26 +00:00
Mark Banner
3043f2a053 Bug 1482435 - Separate out nodejs finding logic from configure and use it for ESLint. r=firefox-build-system-reviewers,gps
This extracts the current logic for finding nodejs into its own module in mozbuild. Configure and ESLint then use it.

For ESLint, this will change the first location it looks for nodejs to be the .mozbuild directory.

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

--HG--
extra : moz-landing-system : lando
2018-09-25 18:15:51 +00:00
Connor Sheehan
00b17280f2 Bug 1480228: install Mercurial 4.7.1 in Non-Debian Linux Docker images r=gps
Bumping the Mercurial version to 4.7.1 to apply a fix for a
performance regression introduced in 4.7.

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

--HG--
extra : rebase_source : b06eae5268fe7f38f85f8644da7f08516840a827
2018-09-07 10:29:00 -07:00
Connor Sheehan
dd7d438c76 Bug 1446453 - install Mercurial 4.7 in Non-Debian Linux Docker images; r=gps
This commit points the `install_mercurial.sh` script at the
newest Mercurial distributions uploaded to tooltool.

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

--HG--
extra : amend_source : a9cd500cc86106750aa5b5472e624a00128cac68
extra : histedit_source : 7a06d9c77b6f7a7b2110dc6bc15858c7aa3b7242
2018-08-02 11:57:23 -07:00
Chris AtLee
600b5b46ac Bug 1237182: get rid of oauth.txt r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D1444

--HG--
extra : rebase_source : dad4f2102dc1e74b681a765169eae691724f8b61
2018-05-25 17:43:15 -04:00
Chris AtLee
8e5587759f Bug 1237182: Get rid of buildprops.json r=tomprince,sfraser
Differential Revision: https://phabricator.services.mozilla.com/D1443

--HG--
extra : rebase_source : 1683b76377e27fdaa5292e1781573ddc4e61afa8
2018-05-25 17:35:43 -04: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
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
Gregory Szorc
7a11019c3c Bug 1459077 - Install known working pip and virtualenv; r=ted
Previously, we installed the latest version of pip and virtualenv.

This commit pins the pip and virtualenv version so we install known
working versions (pip 10 breaks the image build for some reason).

MozReview-Commit-ID: hOAMencdcr

--HG--
extra : rebase_source : 2cb44c2ef55e29c55cf3d1b354e90d6fb5414cce
2018-05-04 13:10:50 -07:00
Chris AtLee
9472cb160b Bug 1450029: Remove buildbot/buildbot-bridge references from taskcluster r=aki,tomprince
MozReview-Commit-ID: Hu9ju4XVQpA

--HG--
extra : rebase_source : dba8ba385a86ef24a031bca58f01c6ec553d1459
2018-05-01 16:07:19 -04:00
Gregory Szorc
af8f8380c6 Bug 1448438 - Upgrade to Mercurial 4.5.2; r=sheehan
We bump the version of Mercurial for Debian packages and for Ubuntu
Docker images.

MozReview-Commit-ID: KYmG4rOm3TQ

--HG--
extra : rebase_source : cbb817a9ee4c27f0bc59f4fa1e2a708fac1cb093
2018-03-23 12:09:36 -07:00
Gregory Szorc
79e8198e43 Bug 1448438 - Install Mercurial via install-mercurial.sh; r=Callek
All in-tree Docker images should be installing Mercurial via
install-mercurial.sh so that the Mercurial install is consistent
across all Docker images.

I noticed this image wasn't using install-mercurial.sh because
attempting to rebuild the image currently fails due to
mercurial-4.3.1-2 not being available in the upstream package repo.

install-mercurial.sh has been taught to handle Ubuntu 18.04 and the
Docker image building process has been taught to use
install-mercurial.sh. install-mercurial.sh uses tooltool and behavior
should work and be deterministic over all of time.

As part of this, we had to establish a standalone shell script for
building the image. That's because install-mercurial.sh requires a
"tooltool_fetch" alias. Meaningful image building code has been
moved into the new setup.sh. This also means things run as a single
RUN statement. So we don't need to hack around minimizing RUN
invocations.

I also discovered that the pinned curl version is no longer available.
So I removed the version pinning. FWIW we can't rely on version
pinning unless the Apt repository is snapshotted. Packages do get
yanked from time to time. Unless we absolutely require a specific
version of a specific package, we can probably get away without pinning
- at least for this Docker image. But that can be a follow-up.

MozReview-Commit-ID: As7Hq470QcK

--HG--
extra : rebase_source : e5868ff1dfd6a14a12d3df08aca2954d1d9ea99f
2018-03-23 13:23:02 -07:00
Mark Banner
cd8efbae2c Bug 1443547 - Upgrade Docker images to node 8.9.4 & npm 5.6.0. r=dustin
MozReview-Commit-ID: 3rrH3JcOrnu

--HG--
extra : rebase_source : bda65b81a15fd5098faf3c1a99a8c949e712e076
2018-03-06 19:37:13 +00:00
Henrik Skupin
21d9fbb240 Bug 1443437 - Pre-build font cache for Firefox i386 binaries on x86_64 systems. r=jmaher
In automation for both Linux and Linux64 the same docker image is used,
which is based on Ubuntu 16.04 64bit. To run the 32bit Firefox binary
the necessary libraries for the i386 architecture get installed.

What's missing is the creation of the font cache for i386 binaries. As
such it will be created at the first start of the appropriate application.
It means there is an additional ~30s delay before Firefox opens, which
causes several test failures especially for wdspec tests.

To prevent this delay the i386 version of fontconfig will be installed
and apt automatically creates the font cache for the i386 architecture
by leaving the x86_64 cache in-place.

So the cache creation will happen one time  when the docker image is getting
build, and not for each and every test job, which saves us 30s for each.

MozReview-Commit-ID: 58xdOI4xYkP

--HG--
extra : rebase_source : f246fc47caa1acc8657c4963c9450c1ca7653fec
2018-03-07 11:48:26 +01:00
Ben Hearsum
ede90c5816 bug 1398799: upgrade update verify docker image to Ubuntu 17.10. r=gps 2018-02-20 12:41:44 -05:00
Tom Prince
13f8033d55 Bug 1426445: Add sanity check that worker uid/gid is 1000 in run-task; r=dustin,gps
MozReview-Commit-ID: 7T7rQpLhJIN

--HG--
extra : rebase_source : 950b111946ef3248aedb825d280754954b8f54ad
2018-01-02 14:22:36 -07:00
Tom Prince
024c479e0b Bug 1426445: Purge task caches, when an incompatible cache is found; r=gps
Differential Revision: https://phabricator.services.mozilla.com/D395

--HG--
extra : rebase_source : 1c2a16c6e851c578d3430092c8688770da5ab5b5
2018-01-15 22:00:50 -07:00
Simon Fraser
5acab0f13e Bug 1432627 Add shellcheck linter to CI r=ahal
MozReview-Commit-ID: 2IYUsXunfab

--HG--
extra : rebase_source : 806ab4abfb1838a1b5eec279f5e93ce5c703685d
2018-01-29 15:27:04 +00:00
Mike Hommey
1d38c4309b Bug 1432398 - Remove the desktop-build docker image and related files. r=dustin
--HG--
extra : rebase_source : 158e14474ce049343105d2be95aabc03ec0b7854
2018-01-27 11:04:23 +09:00
Mike Hommey
2edd1f5387 Bug 1432398 - Move oauth.txt and buildprops.json to taskcluster/docker/recipes. r=dustin
--HG--
rename : taskcluster/docker/desktop-build/buildprops.json => taskcluster/docker/recipes/buildprops.json
rename : taskcluster/docker/desktop-build/oauth.txt => taskcluster/docker/recipes/oauth.txt
extra : rebase_source : ac6b6c6a2394e3cd2e3be5c9bd48f3f16708eba6
2018-01-27 10:52:39 +09:00
Mike Hommey
dd7448479b Bug 1432395 - Switch the valgrind build to a Debian-based docker image. r=dustin
We start from the image used for Firefox builds, and add the debug
packages for all the system libraries.

--HG--
extra : rebase_source : 2c759975d9837beabdc08a15fd926a99fd1cecf8
2018-01-27 10:25:58 +09:00
Simon Fraser
3fb244c631 Bug 1432765 Linting compliance for docker recipes r=jlund
MozReview-Commit-ID: KbTLTU87hyI

--HG--
extra : rebase_source : a1b433b7874cd7dcf3eee3a6c8328b780153a97d
2018-01-24 12:50:04 +00:00
Gregory Szorc
6f469dc037 Bug 1430908 - Use --progress=dot:mega with wget; r=glandium
By default, wget prints dots every 1k bytes. This can render a
lot of output for large files. We switch to the "mega" style, which
makes each dot represent 64k, thus reducing output by up to 64x.

We also force the use of dot display. By default, it uses "bar"
which attempts to use terminal formatting if possible. Since most
of this code executes in CI and terminal control characters can
interfere with logged output, we force the use of "dot." (Although
wget appears to automatically switch to dot in TC today. But
consistency is good.)

MozReview-Commit-ID: IpTWJdcauTV

--HG--
extra : rebase_source : 5c9aa1bbdcd78eaa0b31347ad026a2c1beaedc03
2018-01-16 14:24:31 -08:00
Mike Hommey
5983078334 Bug 1429996 - Revert partial backout of changeset 22587e6ef7ca from bug 1429669. r=me 2018-01-18 18:54:43 +09:00
Mike Hommey
08c0116191 Partially backout changeset 22587e6ef7ca from bug 1429669 on a CLOSED TREE. r=me
Because Ubuntu 16.04 changed in a way that busts gl3 tests and we can't
update the desktop1604-test image anymore.

--HG--
extra : amend_source : bfa07f9f77990dd6915b8c92d218227436bc6fc4
2018-01-12 10:45:35 +09:00
Mike Hommey
5f8431c3b1 Bug 1429669 - Separate mercurial conf from install-mercurial.sh. r=dustin
The install-mercurial.sh script currently installs a global mercurial
configuration after installing mercurial manually. In order to share
that configuration with docker images installing a mercurial package
through packages tasks, we move it to a separate file.

We however keep the part setting web.cacerts in install-mercurial.sh,
since it uses a path depending on what kind of environment the script is
run. Moreover, the instructions that come with mercurial to build
Debian packages come with web.cacerts set to the right path already, so
it's not needed in that case anyways.

At the same time, use multiple files in /etc/mercurial/hgrc.d/ instead
of a single /etc/mercurial/hgrc file.

--HG--
extra : rebase_source : 8140d8243cf012489025afe058f467c72224c891
2018-01-11 14:01:31 +09:00
Gregory Szorc
f22a8ae72d Backed out changeset 15a9e149f2db (bug 1426445) for build bustage
CLOSED TREE

--HG--
extra : amend_source : 12ae596b4067fd7ce93125880924e6a9e2a4125a
2018-01-05 15:18:12 -08:00
Tom Prince
9ad7a74167 Bug 1426445: Add sanity check that worker uid/gid is 1000 in run-task; r=dustin,gps
MozReview-Commit-ID: 7T7rQpLhJIN

--HG--
extra : rebase_source : f8dff72bc22242fe12080b2e517b8a8a4b4e27c4
2018-01-02 14:22:36 -07:00
Mike Hommey
934ddc3e58 Bug 1427336 - Share dot-config between docker-images. r=dustin
--HG--
rename : taskcluster/docker/android-build/dot-config/pip/pip.conf => taskcluster/docker/recipes/dot-config/pip/pip.conf
extra : rebase_source : 1c2ec206f1560509f0db296da4d7be22811441ac
2017-12-29 14:48:23 +09:00
Mike Hommey
67185715fd Bug 1427068 - Enable the mercurial share extension at the system level. r=gps
I suppose it was setup through ~worker/.hgrc before we started
installing a /etc/mercurial/hgrc that enables a few other extensions
and sets some preferences.

There is no reason to now have two places where mercurial is being set
up, and it feels natural that we set it up at the system level.

Ideally, we'd also clean up the centos6-based images, but they require
an update of the centos6-build and centos6-build-upd images on the
docker hub, which is not really convenient, and those images are going
to be obsoleted soon anyways (bug 1399679).

--HG--
extra : rebase_source : 32c9cdf5d0fe8ac2c60a1c5a38e572c83a4783b2
2017-12-26 17:01:55 +09:00
Tom Prince
6cb9a008f4 Bug 1427195: Remove broken prepare_vcs_checkout for comm-central builds in run-task (partial backout of bug 1427061); r=me a=partial backout for breaking thunderbird
MozReview-Commit-ID: 3t6yzzdkan1

--HG--
extra : rebase_source : 8c4885136cdecb81e4099f85710b95a8d998a3ff
2017-12-27 10:58:48 -07:00
Mike Hommey
2498343962 Bug 1427147 - Remove Ubuntu 12.04 setup script. r=dustin
Bug 1389715 removed the image definition in taskcluster/ci/docker-image
as well as the files associated with it in
taskcluster/docker/desktop-test, but the Dockerfile in there was the
only use of the Ubuntu 12.04 setup script, so it is currently unused.

--HG--
extra : rebase_source : 7d8018e7c94e2625ff9822a2d66231722a030394
2017-12-27 12:01:41 +09:00
Mike Hommey
6db7a7faac Bug 1427061 - Only prepare hg store path when at least one checkout is performed. r=dustin
While we're here, add a missing prepare_vcs_checkout for the
comm-central checkout.

--HG--
extra : rebase_source : 788a288330e34b5551ec2b12726a755e268566c2
2017-12-26 13:19:45 +09:00
Connor Sheehan
380dad9d74 Bug 1424386: Update Docker images to Mercurial 4.4 r=gps
Update hashes in install-mercurial.sh so tooltool retrieves
the newly uploaded Mercurial 4.4 images.

MozReview-Commit-ID: 9gOsyzy9FEj

--HG--
extra : rebase_source : edfc79cf2fa0580e443d6e40adf0082a89a47a75
2017-12-18 20:43:24 -06:00
Mike Hommey
04927bc058 Bug 1419269 - Support installing mercurial on Debian versions != 9. r=gps
--HG--
extra : rebase_source : 187146a14083960b2175f907f466a46ad9091ce8
2017-11-21 14:11:14 +09:00
Tom Prince
249f121da9 Bug 1410737: Log repositories checked out. r=gps
MozReview-Commit-ID: 7D7i8CMXjMY

--HG--
extra : rebase_source : bc2c602985874d76fea4b2524f718c53839daee7
extra : source : b91ed20197290025a3cdd0dcdff1d0643849db06
2017-10-26 11:54:55 -06:00
Narcis Beleuzu
da5464aae1 Backed out changeset b91ed2019729 (bug 1410737) on request. r=backout on a CLOSED TREE 2017-11-16 07:38:22 +02:00
Tom Prince
d2b01f13fe Bug 1410737: Log repositories checked out. r=gps
MozReview-Commit-ID: 7D7i8CMXjMY

--HG--
extra : rebase_source : 42c1da8e64bef57a235b9a68f562d6ecb316fbad
2017-10-26 11:54:55 -06:00
Gregory Szorc
2b1deb45e5 Bug 1409876 - Print warning when vcs operations aren't running on a cache or volume; r=dustin
A lot of effort has been spent optimizing VCS operations for peak
performance. But not utilizing caches or volumes for the VCS store
or checkouts can undermine that work.

Let's print a warning when VCS is configured sub-optimally.

I'm pretty sure we still have some rogue tasks not using caches
or volumes. We can convert this to a fatal error once those are
fixed.

MozReview-Commit-ID: C6CT1zViy75

--HG--
extra : rebase_source : 91760250bed263c789b95d16cc0542a53ca2bfbf
2017-10-25 17:38:35 -07:00
Gregory Szorc
a953b72db5 Bug 1409876 - Refuse to perform a VCS checkout into a cache root; r=dustin
This seems like a reasonable thing to enforce.

MozReview-Commit-ID: 3BZQSkwRYeN

--HG--
extra : rebase_source : 8dae62edb35202da0f0e90ddec3eacb212ada371
2017-10-25 17:23:16 -07:00
Gregory Szorc
926bb25028 Bug 1409876 - Record cache history to aid failure analysis; r=dustin
We introduce a per-cache .cachelog file containing important events
in the cache's history such as creation, requirements adjusting,
and utilization. If cache validation fails, we print the cache log.
If a previous task was responsible for getting the cache in a bad
state, its TASK_ID should be printed, allowing us to more easily
identify mis-configured tasks.

MozReview-Commit-ID: BJun5Hi5w0s

--HG--
extra : rebase_source : f4758741ee294a0de53882b6891b473c01463e28
2017-10-25 16:58:37 -07:00
Nick Alexander
d017b0874e Bug 1396098 - part 1 - base android-build on Debian instead of CentOS; r=glandium,dustin
CentOS 6 is pinned to glibc 2.12, but newer Android build-tools (like
aapt) require glibc 2.14.  It's not possible to safely upgrade CentOS
6 distributions to glibc 2.14.

CentOS 7 is pinned to glibc 2.17, which is new enough for newer
Android build-tools. However, I had great difficulty bringing forward
our existing centos:6 Docker image to centos:7.  In particular,
installing recent enough Mercurial, git, Python, and pip versions was
difficult enough that I elected to not pursue this approach.

Instead, I've elected to follow glandium's suggestion from
https://bugzilla.mozilla.org/show_bug.cgi?id=1370119#c5: base on
Debian with snapshots.debian.org for reproducibility.

The most significant changes here:

- using Debian's snapshots repository
- using Python and related tools provided by Debian and baked into the
  build image
- using the JDK and JRE provided by Debian and baked into the build
  image, rather than versions from tooltool (or eventually a toolchain
  build)

Moving the builds over to use this image will follow in the patches
ahead.
2017-09-18 15:38:22 -04:00
Gregory Szorc
972bb63fcc Backed out changesets ef813898b5d3, ce228388aaf6, and c798f482b2c5 (bug 1396098) for violating TC cache constraints
CLOSED TREE

--HG--
extra : amend_source : 84120d6bacb5d72a9fbe41e4c3b405d63825da7c
extra : histedit_source : 8320c2193761b745f10850055ee74a3c9ac73615%2Cfbc2a28d8c5004a53305ef858ca5aea4245691e0
2017-09-18 13:30:43 -07:00
Nick Alexander
c800d7d1f7 Bug 1396098 - part 1 - base android-build on Debian instead of CentOS; r=glandium,dustin
CentOS 6 is pinned to glibc 2.12, but newer Android build-tools (like
aapt) require glibc 2.14.  It's not possible to safely upgrade CentOS
6 distributions to glibc 2.14.

CentOS 7 is pinned to glibc 2.17, which is new enough for newer
Android build-tools. However, I had great difficulty bringing forward
our existing centos:6 Docker image to centos:7.  In particular,
installing recent enough Mercurial, git, Python, and pip versions was
difficult enough that I elected to not pursue this approach.

Instead, I've elected to follow glandium's suggestion from
https://bugzilla.mozilla.org/show_bug.cgi?id=1370119#c5: base on
Debian with snapshots.debian.org for reproducibility.

The most significant changes here:

- using Debian's snapshots repository
- using Python and related tools provided by Debian and baked into the
  build image
- using the JDK and JRE provided by Debian and baked into the build
  image, rather than versions from tooltool (or eventually a toolchain
  build)

Moving the builds over to use this image will follow in the patches
ahead.
2017-09-18 15:38:22 -04:00