Also calls `dpkg-reconfigure locales`, but it's not entirely clear if this is
necessary or not.
--HG--
extra : commitid : 4jWDfNVFuD0
extra : rebase_source : 926488fe6f619c9c8ae361925256fe069638e51c
We don't run free commands from tasks, we now allow only scripts shipped
in the phone-builder image.
We also added support to an allowed whitelist of github and bitbucket
users to run tasks from their respective private repositories.
--HG--
extra : commitid : 6NA1M4JKjCQ
This generally makes the approach look more like that for desktop-build. The
major difference is that `bin/test.sh` takes arguments which are passed on to
the mzoharness script (MOZHARNESS_SCRIPT) with the addition of config
arguments (MOZHARNESS_CONFIG)
--HG--
rename : testing/docker/desktop-build/bin/build.sh => testing/docker/desktop-test/bin/test.sh
rename : testing/docker/desktop-test/mozharness_configs/remove_executables.py => testing/mozharness/remove_executables.py
extra : commitid : GyMeTBpCwm8
extra : rebase_source : 1a61f9bc32066ad6f9fce504d3e8ac67e39b105d
This also refactors the image generation to not depend on puppetagain, and to
install the latest and greatest mercurial in a verified, repeatable way.
As with centos6-build-upd, the ubuntu1204-test-upd image exists to run
'apt-get upgrade' periodically without regenerating the huge parent image.
--HG--
extra : commitid : HxYSFfIaEc
extra : rebase_source : 28dae0a30be3d6fae2c44a43601bbd336d9bbfdd
Add new tasks for the "Linux" platform. These run on the same docker image as
the Linux64 builds, but that image has been modified to contain a bunch of
*.i686 packages required to cross-compile for i686. Due to yum's propensity
for resolving dependencies without regard to architecture, with this patch the
system-setup.sh script lists both architectures of each file explicitly.
This also leaves `gcc` installed for user convenience in installing Python
extensions, NPM modules, etc.
This also includes 'subversion' for clang builds (bug 1208029)
--HG--
extra : commitid : GfCTCchyHo6
extra : rebase_source : 8b15da0ed7adefa084b7195a98f63f73564a3d94
This also bumps the image's VERSION since I had pushed several different
images as 0.0.1
--HG--
extra : commitid : LespqENOhs5
extra : rebase_source : b2072b1a9131ea86c080a6abc2898252fc7ff159
extra : histedit_source : 5fca32220264fe07afe0c94e226cee342f1dace4
Introduces a centos6-builder image and refactors desktop-build to use it.
(64-bit only)
--HG--
extra : commitid : BMO91NqNEEh
extra : rebase_source : 85a32f4f88f7d52b86b25516022c44e78b110fd2
This requires doing some cleanup of permissions on the cache mounts first;
eventually, this should be done by the docker-worker.
--HG--
extra : commitid : 6pnyoQeGrRX
extra : rebase_source : caa1dc4df3f0fc9ab26a55088749d85f5a52145a
This required moving the custom mozharness configs out of the builder image
(which puts them in ~, where mozharness no longer looks) and moving them into
mozharness itself.
--HG--
rename : testing/docker/desktop-build/configs/disable_signing.py => testing/mozharness/configs/disable_signing.py
rename : testing/docker/desktop-build/configs/platform_supports_post_upload_to_latest.py => testing/mozharness/configs/platform_supports_post_upload_to_latest.py
extra : commitid : 8FSj0uwFfbE
extra : rebase_source : 949bb94ca58324444981b81e9e9640ab00d63196
extra : amend_source : 40152e06e587728500800de02a437389038fe6ea
extra : source : e3c15b9f89b3c331805b4f1a83f62805f32bbb9a
This required moving the custom mozharness configs out of the builder image
(which puts them in ~, where mozharness no longer looks) and moves them into
mozharness itself.
--HG--
rename : testing/docker/desktop-build/configs/disable_signing.py => testing/mozharness/configs/disable_signing.py
rename : testing/docker/desktop-build/configs/platform_supports_post_upload_to_latest.py => testing/mozharness/configs/platform_supports_post_upload_to_latest.py
extra : commitid : LUhLDQkhme1
extra : rebase_source : c4cc73de99939e22dd1317ce2d9b26671b67947a
This is to force volume cache to redownload the image valid socorro
token.
--HG--
extra : commitid : AXTK6ZO3Rro
extra : rebase_source : a3ab06d5a07cc16c90f3c875084f5c5e386cf1a3
libcurl on CentOS 6 doesn't support keealive, so we upgrade it.
The approach we take to avoid breaking buildbot machines is to
grab libcurl from CentOS 7, build it on CentOS 6 and upload rpms
to S3.
--HG--
extra : commitid : 2GvcMp3e9R5
extra : rebase_source : feb7c60beafebc7923e5ad2f0f6af963eaebb638
For the most part, this has parity with the 64 bit container; minus custom MH configs.
Because Android builds do not have a 32 bit component, we don't have to worry about
supporting those in this container either.
--HG--
extra : rebase_source : 94b6578002408febbeba026e7547a624cbc6aae6
Reuse of generic build scripts is necessary, for instance, between 64 bit and 32 bit containers where everything other than the arch remains essentially the same.
--HG--
extra : rebase_source : 926b4aa131793244671bb8a4387fb464239c90ab
Based on a ubuntu 14.04 chroot environment, loaded into docker.
The tool chain detects a 32 bit environment so things like
mach build and mach bootstrap work well; however, some 64 bit libraries
are required to successfully build: namely, libz.
--HG--
extra : rebase_source : 382e5077ba1a0c4f318dbd44ffc10101ed0b7105
This also changes the registry to point to quay.io/mrrrgn since djmitches account
is currently unavailable.
--HG--
extra : rebase_source : 4bffdaef2d9979702cdda81dcb555cc46e30e1b6
The same variables are also set by MozHarness configs, however, they are incorrect for us.
By setting it here, we ensure that clang can find our system libraries.
--HG--
extra : rebase_source : bbadc81945b24ae06e53c9c804c76dc6b249633d
This option is configurable to account for the fact that this image supports multiple builds.
There is an option for moving files by name in a simple mv $name $name fashion, and for
moving files so that any long prefix (containing version/platform information for instance)
will be stubbed out: replaced with the word "target."
--HG--
extra : rebase_source : cd256712c8bc719d479eb51dc8bca8f139f7bca6
This adds --no-checkout-sources to mozharness, and just checks the sources out
with tc-vcs.
--HG--
extra : rebase_source : bd47a8fb70e0d621ea43a489e0847eb9ffff1d0a
extra : source : 0300c27a1f5189e36e8ec99348fd643f8ac8241f
Sometimes the Xvfb sanity check can fail due to slow startup times,
this introduces a simple retry system, with sleeps, to ensure that failures are
due to another cause.
--HG--
extra : amend_source : efed55e9eb5f44779595a1f1293ae17ebb48a9b8
This version of tc-vcs fixes downloading of remote refs when they don't
exist locally [1].
[1] https://github.com/taskcluster/taskcluster-vcs/pull/12
--HG--
extra : histedit_source : e9a952d7b77d45bcb803d5a3188b93d3506c140c
This avoids we have to generate a new image each time the build scripts
change.
--HG--
extra : rebase_source : 350ce922830e5f5b6b9d54fefebe6423ac016129
- Update scopes in decision task to something easier to use locally
- Schedule flame builds (they may fail now)
- Add optional revision-hash argument to decision task mach target
- Use b2gtest worker type for tests
- Use build specific worker types
--HG--
extra : rebase_source : dff37d59c35efcfc1698f2716e0fc0dc5e86937d
* split much of base-build that's not useful for Android into b2g-build
* always run docker with --no-cache, so we get the latest packages
* improve README
--HG--
extra : rebase_source : 9446b68ae0ffd7cbdd2da831e208019a6974a636
extra : source : 91164440e535825949a2e7dda8909da2f6085dff
extra : histedit_source : 5b9e14c8714f1cbb1853e1ecdc3e3e9918830ce2
This is necessary for Dolphin kernel build.
--HG--
extra : rebase_source : d15c5c6b3e4b8ed4adf45b5d9567bb82fd78e4dd
extra : source : 0f149d402baef03a0ad47dbfc466813a55aee6b9
extra : histedit_source : ed20505e19f559692e2f64df380f8eb438240c7b
taskcluster-build and taskcluster-trygraph now has two options to
specify mozharness custom repo and revision: --mozharness-repo and
--mozharness-rev.
--HG--
extra : rebase_source : 3c16d13596412ad2b66b1387e35c84e18d0addfc
extra : source : 0a3e1c17cf050ec53720cafd02e7bcf4ec166927
extra : histedit_source : fe0e4f9c0e5e35f984c9b2e65513b3fdd90583a6
Phone builds are special because they may contain vendor blobs that we
are not allowed to distribute. So, we have to make sure the task is not
leaking anything.
We check that the gecko repository is a mozilla oficial repository and
that we are not copying the built stuff to public folders.
--HG--
extra : rebase_source : 84f5b40ff0dcef5d0407832ef38f187ccef7766a
extra : source : 1520c6cd07da116dc1c7aac462d1807247cdc7f9
extra : histedit_source : d8d5db00102c06b3ab9937a1c86394cc6de9c4fd
As this image handles files containing partners blobs, it must be
private in quay.io, and the builds cannot be made public either.
You must use "-i" and "-k" build parameters to handle s3 credentials.
--HG--
extra : rebase_source : e23e07c93c04dd28052043be736ecaab3100c161
extra : source : 1bc2ad4d70eb91a4e98107685f7d6eacf603f7ac
extra : histedit_source : 473922c18f0fd18b1b1eebbc890f5e7960aacd43
If the image folder contains an inner build.sh script, runs it to build
the image. The tag value is passed through a "-t" argument. All
arguments passed after the folder parameter are forwarded to the inner
build script.
--HG--
extra : rebase_source : 50a1f4d13e8d086f935425633f65a67e5d7e452f
extra : source : cc041ffa9a022399be1c18f9c01fb2b9b94b1efa
extra : histedit_source : 48c31997e540ea5acb2e93d9af4713a700e7e1e3
In practice, there is no much difference between b2g-config and target
mozharness options, and we are fine specifying both with the same value.
We replace b2g-config by target in our mach command interface because
it seems easier to understand and will make the life for phone builds
easier.
--HG--
extra : rebase_source : 57a629563a17ddf6a1daa4e67e91a097b8081d09
extra : source : df726365e2761ff8c8b3849b03db72cf05f73500
extra : histedit_source : eaefaed9c6f3cf8273d9df425dd0f1e29c07c20d
Adds the $inherits key at the top level of all tasks within gecko. This initial
work covers the deep inheritance cases as well as cyclic references during
inheritance.
--HG--
extra : rebase_source : b48a70553af287356afa5e34a686e7ba2e6de21c
extra : source : 485adb4ce1ddc0280ed49fbd6e77e60431d74c2b
Primarily builder performance optimizations by leveraging both vcs caching and
docker caching improvmenets. By side effect this is also the ground work for
supporting git.
--HG--
extra : rebase_source : e680f43b426e8f02f340616975edf18c19a18bd4
extra : source : 7bb48bcb10e8f7a0b8c7b945d5add1bdc56dfed7
Normalizes gaia tooling to a central file with a set of commands / help.
--HG--
extra : rebase_source : 50f0a7c0b993d46c9a5803e270ff30ea125fe8ad
extra : source : 4d711d8eb9177085e619923d3ae92419cc2dd257
If "topobjdir" is None, use default object directory.
--HG--
extra : rebase_source : 0bfbd32686cce7479c652e9141ed83fa8a38967c
extra : source : 63101782f55005d8f74f576ec3447f264d6035b4
A commit in the mozilla-central repository [1] broke the gaia URL
repository URL construction code.
We now make sure our code works independent of the leading slash
presence.
[1] http://hg.mozilla.org/mozilla-central/rev/f3782f5c2710
--HG--
extra : rebase_source : b9266befc06d3566c22dc68581550ac8da798947
extra : source : 24b368aaa3cb6baff2f7de260d66d2719de63019
The "mach ci-build" has a new optional argument called b2g-config. This
allows the user to pass the b2g config directory for the target. This
argument is necessary for emulator and phone builds.
--HG--
extra : rebase_source : 40724b5d1b9b33961180e2a019a7237ca13410b4
extra : source : c20ec1fd15670422f517c352c388bd036c454fb6
The setup of builder image moved to system-setup.sh script because
needs to do more complex work, like downloading repo and installing
mozilla buildtools package.
The build-emulator.sh script is reponsible for building emulators.
Besides the REPOSITORY and REVISION environment variables, it requires
TARGET and B2G_CONFIG too.
--HG--
extra : rebase_source : 670c03f343a6d6aca51f81373aa5c6734d4b8b6b
extra : source : 30b4e858f2c3d5f093ad87c6098d0d1298ca2fdb
virtualenv is a dependency for mozharness.
--HG--
extra : rebase_source : a99c7ecc014d3039859d053572681929d007c9c8
extra : source : 336b87456be85c55b4573b2ae8cfb6b3c61dfabe
Artifacts are stored in the /home/worker/artifacts directory. If this
directory doesn't exist, the task finishes unsuccessfully.
--HG--
extra : rebase_source : 96829c518bd31baa1921b996af6231a5a758550f
extra : source : c467a0bb28714e52ce1fe97a04a90679650b0800
Since we now use the gecko tree mozconfigs for building, the docker
mozconfigs are no longer necessary.
--HG--
extra : rebase_source : 86518f6418a00963e9abd23df288fce75d8f52e5
extra : source : bb3a81a684a1d66ae70242609c436b12405970bb
We cannot hardcode the object directory because it is configurable
inside the mozconfig file.
Parse the mozconfig and extract the object directory. If it is not
defined, defaults to "/home/worker/object-folder".
--HG--
extra : rebase_source : 25eb9e7306d8844b20459c01b1a9a7ee85f3f03d
extra : source : 76e4a3bad9bc5eb124014b0332f82db17bdace11
Older versions of mercurial cannot create inner directories if the
parents don't exist.
--HG--
extra : rebase_source : 0a996db89416da64ca7be228814f208975a42570
extra : source : 42a93ffc374f4ef08a8b2f31d1f7ce1067fead15
builder image is now based on the "base" image that lives on gecko
tree.
--HG--
extra : rebase_source : a22e083dca220a52e1b84cf5479969a6c1dc6882
extra : source : 664164ad527d89ce83812d15f99aaff656430f4b
releng uses CentOS for CI. In order to reuse their packages, we also
move from Ubuntu to CentOS for our base images.
--HG--
extra : rebase_source : 4c98b24c094391124c5c0239c9191ad83938d914
extra : source : 7392eb8c25c4bec041ac480064c8bdd1c0bdecb8
This creates two images:
* ubuntu-build is a basic Ubuntu Trusty image with the build prerequisites
installed via MozBootstrap (plus some additional requirements). It also
contains the worker user and basic directory structure expected by
Mozharness.
* desktop-build is a refinement of ubuntu-build with specifics for building
Firefox Desktop (and, as it turns out, Firefox for Android). It sports a
`bin/build.sh` which acts as a fairly generic mozharness-runner that first
checks out the desired source code revisions, then invokes Mozharness. It
supports:
* caches -- tooltool, workspace, tc-vcs
* starting and stopping Xvfb if necessary (desktop tests require this)
* specifying mozharness build variant, branch, and build pool
* supplying a RelengAPI token
* copying uploads to the artifacts directory