Граф коммитов

408 Коммитов

Автор SHA1 Сообщение Дата
Dustin J. Mitchell e860ab8925 Bug 1492664 - add {artifact-reference: ..}; r=tomprince
This provides an easy way to encode an artifact URL in static data such as
taskcluster/ci/nightly-l10n/kind.yml, without knowing in advance the format of
the URL.

--HG--
extra : rebase_source : 25c99d392e9b71c514f236379a816fae971e161a
2018-09-25 20:26:55 +00:00
Aki Sasaki a604a76176 Bug 1501878 - required_signoffs attribute. r=tomprince
If a task has `required_signoffs` that match a release's `required_signoffs`, we should defer running that task until we have a matching `signoff_url`.

- add filter_out_missing_signoffs
- add transforms changes to inherit upstream `required_signoffs`
- add `mar-signing` `required_signoffs` to the `partials-signing`, `mar-signing`, and `mar-signing-l10n` kinds

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

--HG--
extra : moz-landing-system : lando
2018-11-20 21:26:18 +00:00
Aki Sasaki 33daabf319 Bug 1501878 - required_signoffs and signoff_urls parameters r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D11733

--HG--
extra : moz-landing-system : lando
2018-11-20 21:26:08 +00:00
Aki Sasaki 9d55c679ce Bug 1501878 - add mar-signing{,-l10n} kinds. r=tomprince,Callek
also rename the partials_signing transform to mar_signing.

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

--HG--
rename : taskcluster/taskgraph/transforms/partials_signing.py => taskcluster/taskgraph/transforms/mar_signing.py
extra : moz-landing-system : lando
2018-11-21 19:04:01 +00:00
Andreea Pavel 616d7d4c51 Backed out 7 changesets (bug 1501878) for breaking win partial generation nightlies a=backout
Backed out changeset 00f109437e82 (bug 1501878)
Backed out changeset f1843fdd4c0f (bug 1501878)
Backed out changeset af0ea80f7b08 (bug 1501878)
Backed out changeset 01311f87d287 (bug 1501878)
Backed out changeset 4e2dc6c23463 (bug 1501878)
Backed out changeset 050c4bba5d71 (bug 1501878)
Backed out changeset 9198c5a03b59 (bug 1501878)

--HG--
rename : taskcluster/taskgraph/transforms/mar_signing.py => taskcluster/taskgraph/transforms/partials_signing.py
2018-11-17 18:37:39 +02:00
Aki Sasaki b1f0bfc26f Bug 1501878 - required_signoffs attribute. r=tomprince
If a task has `required_signoffs` that match a release's `required_signoffs`, we should defer running that task until we have a matching `signoff_url`.

- add filter_out_missing_signoffs
- add transforms changes to inherit upstream `required_signoffs`
- add `mar-signing` `required_signoffs` to the `partials-signing`, `mar-signing`, and `mar-signing-l10n` kinds

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

--HG--
extra : moz-landing-system : lando
2018-11-16 21:04:01 +00:00
Aki Sasaki 0e9dd46cd9 Bug 1501878 - required_signoffs and signoff_urls parameters r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D11733

--HG--
extra : moz-landing-system : lando
2018-11-16 21:03:06 +00:00
Aki Sasaki 34f6a8c712 Bug 1501878 - add mar-signing{,-l10n} kinds. r=tomprince
also rename the partials_signing transform to mar_signing.

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

--HG--
rename : taskcluster/taskgraph/transforms/partials_signing.py => taskcluster/taskgraph/transforms/mar_signing.py
extra : moz-landing-system : lando
2018-11-16 21:01:38 +00:00
Andreea Pavel e3299fd2db Backed out 5 changesets (bug 1498640, bug 1436037, bug 1497660, bug 1505579) for mass failures on a CLOSED TREE
Backed out changeset 914a7a899dd1 (bug 1436037)
Backed out changeset e072757bf691 (bug 1436037)
Backed out changeset b0805a8cf6eb (bug 1505579)
Backed out changeset aa32ba9e6df3 (bug 1498640)
Backed out changeset ce441b8a784c (bug 1497660)
2018-11-15 07:53:41 +02:00
Dustin J. Mitchell 1dc45388bf Bug 1498640 - deploy latest image_builder image r=glandium
This uses the latest image_builder image (on docker hub) to build even the
image_builder image.

The change to `docker.py` handles a new API response (`aux`) from the Docker
daemon.  It's unclear what this key means, but displaying it is simple.

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

--HG--
extra : rebase_source : 2c069da57e416d5e1821e55653d37b23d633ae78
extra : source : f33b9e6aca06b7883f048c6c068704680cbfbbb2
2018-10-31 23:02:42 +00:00
Tom Prince 16c2c30ba8 Bug 1506920: [taskgraph] Track parent images in docker image digests; r=dustin
The digest for a docker image task did not include the digest for the parent
image in it, and so in particular did not depend on the versions of packages
included in a parent image.

If two branches have a docker image with identical docker files, but different
parents, this would lead to them both getting the same digest, leading to
unexpected interference between the branches.

This fixes things by including the digest of the parent image as input into the
digest of child images.

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

--HG--
extra : moz-landing-system : lando
2018-11-14 14:29:26 +00:00
Justin Wood 68af823cae Bug 1475510 - Add repackage-msi signing. r=aki
Differential Revision: https://phabricator.services.mozilla.com/D9336

--HG--
extra : moz-landing-system : lando
2018-11-07 17:44:27 +00:00
Justin Wood 44f471f3a2 Bug 1475510 - Taskgraph msi generation. r=aki
Differential Revision: https://phabricator.services.mozilla.com/D9335

--HG--
extra : moz-landing-system : lando
2018-11-07 17:44:25 +00:00
shindli 0d793e558a Backed out changeset f33b9e6aca06 (bug 1498640) for mda permafailures with "Error in test execution: NotFoundError: The object can not be found here." message 2018-11-01 06:20:05 +02:00
Dustin J. Mitchell 8a1d61440f Bug 1498640 - deploy latest image_builder image r=glandium
This uses the latest image_builder image (on docker hub) to build even the
image_builder image.

The change to `docker.py` handles a new API response (`aux`) from the Docker
daemon.  It's unclear what this key means, but displaying it is simple.

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

--HG--
extra : moz-landing-system : lando
2018-10-31 23:02:42 +00:00
Tom Prince fbfb83f3e8 Bug 1492128: [mozrelease] Send an email when a release starts with a bug list; r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D10155

--HG--
extra : moz-landing-system : lando
2018-10-30 21:04:00 +00:00
Johan Lorenzo 1785f5c2e5 Bug 1500897 - geckoview: only spin beetmover tasks on GECKOVIEW_XX_RELBRANCH r=dustin,tomprince
geckoview: only spin beetmover tasks on GECKOVIEW_XX_RELBRANCH

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

--HG--
extra : moz-landing-system : lando
2018-10-29 11:11:46 +00:00
Narcis Beleuzu 6d19e0cc90 Backed out changeset deb0260b33c1 (bug 1500897) for taskgraph test failure 2018-10-29 12:18:13 +02:00
Johan Lorenzo 9fcd24e5c3 Bug 1500897 - geckoview: only spin beetmover tasks on GECKOVIEW_XX_RELBRANCH r=dustin,tomprince
geckoview: only spin beetmover tasks on GECKOVIEW_XX_RELBRANCH

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

--HG--
extra : moz-landing-system : lando
2018-10-26 16:36:49 +00:00
Tom Prince 06a6c31865 Bug 1497575: [staging-release] Document new `try_task_config.json` format; r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D9680

--HG--
extra : moz-landing-system : lando
2018-10-25 18:39:22 +00:00
Tom Prince 088aac0cdb Bug 1501759: [taskgraph] Remove `include_nightly` parameter; r=aki
We only use `include_nigthly` where we are also using
`filter_beta_release_tasks`, so just change the later to include nightly.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 20:44:03 +00:00
Mihai Tabara c084508ace Bug 1489405 - Backed out changeset 1f47a5207daa r=jlorenzo
--HG--
extra : rebase_source : c738d08715fc09d6f1e3ed51f5168a5d1447f676
2018-10-23 15:59:21 +01:00
Mihai Tabara 0a775b20ab Bug 1489405 - temp add bouncer-locations-breakpoint in nightly graphs.r=jlorenzo
--HG--
extra : source : 0167f5811c2d5b807d6a456479966defe4fd4bfc
2018-10-22 15:08:22 +01:00
Tom Prince 63f91d28c5 Bug 1492639: Only run cron bouncer checks on mozilla-beta; r=sfraser,mtabara
Differential Revision: https://phabricator.services.mozilla.com/D9137

--HG--
extra : rebase_source : beafd006b2cc29d195f2eaf7354bec21064f3ea0
extra : amend_source : 8ce35a3150ae9dbf194480ddbe96058c6cb9d395
2018-10-18 13:21:36 -06:00
Mihai Tabara 942d4f013b Bug 1475101 - add mark-as-started task. r=rail a=release
--HG--
extra : rebase_source : 2e14c78eb38d785a48da75fb0387ad04aa828e2c
2018-09-12 08:58:52 -04:00
Mike Hommey 6aa7e20faf Bug 1486554 - Enable static analysis on normal Windows CI builds r=ted
And turn off separate static analysis build tasks.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 22:45:06 +00:00
Andrew Halberstadt 7f847766aa Bug 1470266 - [taskgraph] Add ability to schedule serviceworker-e10s test tasks in taskgraph, r=jmaher
This adds a transform which will evaluate the 'serviceworker-e10s' key. If
False, the task is returned as is. If True, the task is run with the
'dom.serviceWorkers.parent_intercept' pref enabled. If 'both' the task is split
into two tasks, one with the pref, and one without.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 17:13:04 +00:00
Connor Sheehan 0dce5dca20 Bug 1492878: update list of locations with vendored `robustcheckout` r=Callek
There are a few external repos that hold copies of robustcheckout
in various places, mainly on release engineering infrastructure
that has been moved to GitHub. We should document those locations
in the same place we document the upgrade steps for Mercurial in
CI.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 14:35:08 +00:00
Simon Fraser 191e6758c8 Bug 1493071 Rename bouncer_check cron task r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D6660

--HG--
rename : taskcluster/ci/bouncer-check/kind.yml => taskcluster/ci/cron-bouncer-check/kind.yml
extra : moz-landing-system : lando
2018-09-24 16:01:45 +00:00
Dustin J. Mitchell 7dc58d65e7 Bug 1487500: allow context to be different based on parameters r=bstack
..and use this to allow create-interactive on level 3, but only for testers.

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

--HG--
extra : moz-landing-system : lando
2018-09-17 23:29:28 +00:00
Tom Prince 52d02769e9 Bug 1490094: [taskgraph] Change `release_type` to include more than just `rc`; r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D5787

--HG--
extra : moz-landing-system : lando
2018-09-17 18:09:16 +00:00
Mihai Tabara 5e32960638 Bug 1432656 - add automation for nightly latest bouncer products. r=jlorenzo a=Aryx 2018-09-05 12:34:26 +03:00
Dustin J. Mitchell 5ab4495828 Bug 1472792: give both retrigger actions the same name; r=bstack
This additionally reconsiders the order of all of the actions, spacing them 50
"units" apart and putting the more common actions first.

MozReview-Commit-ID: 98IOYKVMcGU

--HG--
extra : rebase_source : 1273a8b86625bd8e4dc3bddab80c6912241f88c8
extra : histedit_source : 16314284a2b4e0368da843b036e22aaedf485307
2018-07-06 20:28:23 +00:00
Johan Lorenzo d82f70b45e Bug 1470942 - part 2: Upload geckoview to maven repository via beetmover r=mtabara
Depends on D2420

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

--HG--
extra : moz-landing-system : lando
2018-08-16 16:23:15 +00:00
Tom Prince acd19bf66a Bug 1477706: [try-select] Let taskgraph know that it is being called from try-select; r=ahal
Currently, `mach try fuzzy` generates a taskgraph that is configured exactly
like the most recent push to mozilla-central. This isn't always desirabe, so
pass some configuration down, to allow the taskgraph to behave differently.

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

--HG--
extra : rebase_source : 99d6958b33211697227e65df17edc1eb337f63a4
extra : histedit_source : 69b5ff6805bc8409340eb71323a1f6fc637259d7
2018-08-03 10:25:42 -06:00
Justin Wood 9d6baea4f5 Bug 1463749 - Langpack Checksums r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D2446

--HG--
extra : rebase_source : cea1217e92466617f43df998d14c9dfefa6ab436
2018-07-26 15:16:45 -04:00
Chris AtLee 38cced543a Bug 1466537: Disable full crashsymbols by branch r=ted
Differential Revision: https://phabricator.services.mozilla.com/D1558

--HG--
extra : moz-landing-system : lando
2018-07-30 20:23:14 +00:00
Ben Hearsum 49d4d780ee bug 1477021: create pipfile-update task for funsize-update-generator. r=sfraser
--HG--
extra : rebase_source : 8a7bc1b481b6d477dc6b1ea6a0bd392e73f16f74
2018-07-26 08:56:08 -04:00
Justin Wood a2773825ad Bug 1469436 - Make repackage-signing distinct from its l10n, so we can depend on it in l10n for windows. r=tomprince
This is needed to not have a circular kind dependency when we actually spell out all dependencies (in a following patch)

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

--HG--
rename : taskcluster/ci/repackage-signing/kind.yml => taskcluster/ci/repackage-signing-l10n/kind.yml
extra : rebase_source : c2998ba23f213090d27495eb44c3bde3a1628dff
2018-06-18 10:49:41 -04:00
Dustin J. Mitchell 4c59b7f0ed Bug 1473636: remove outdated information about raw YAML templates, custom tasks; r=tomprince
MozReview-Commit-ID: CuhoyqGobXJ

--HG--
extra : rebase_source : c56063d53713f9bbd1aaa3b72a140be2e6ed4eeb
2018-07-05 17:21:14 +00:00
Dustin J. Mitchell 9a09ab7fa3 Bug 1473636: move description of create_tasks to its own section; r=tomprince
MozReview-Commit-ID: 2r1br7bvlcz

--HG--
extra : rebase_source : 222ce960e052d6a7a3f4d47ba90028bacfe3f24e
2018-07-05 17:15:28 +00:00
Dustin J. Mitchell 37fd25c3c6 Bug 1473636: clarify arguments to action callbacks; r=tomprince
MozReview-Commit-ID: j3OiNkjngD

--HG--
extra : rebase_source : c1c169f5c1295628fe3ea5608407bd85cec34a00
2018-07-05 17:07:40 +00:00
Aki Sasaki 30f34ce0d6 bug 1432364 - remove scriptworker requirement for docker images. r=nthomas
--HG--
extra : rebase_source : 6f6b99d4edf94386c8de5ebaff2d5ef565acd218
2018-06-28 12:38:27 -07:00
shindli d288e9cae7 Merge inbound to mozilla-central. a=merge 2018-06-29 00:53:32 +03:00
Nick Thomas 0b738d5db5 Bug 1471767 - taskcluster documentation fixes, r=dustin
Assorted fixes from trawling the sphinx logs - malformed formatting, broken references, leftovers from renaming action-task to action-callback and removing
yaml-templates, docstring fixes to make sphinx happier, and typos.

MozReview-Commit-ID: 6jUOljdLoE2

--HG--
extra : rebase_source : f2a9dbcde5180f760a80f47691a70eba76e58bad
2018-06-27 21:48:10 +12:00
Mihai Tabara 24e0bdfc00 Bug 1466627 - tweak mark-as-shipped to new structure. r=rail a=release
MozReview-Commit-ID: 6iFYXX8EbJz

--HG--
extra : rebase_source : 73aed579defa6fefeb7d8bd3e11cc6c61571ac4e
extra : source : 1b38998d6310b76b618d8596e6aa78ebec4f14cb
2018-06-01 17:41:22 -07:00
Cosmin Sabou f4b3baf021 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-28 13:04:23 +03:00
Nick Thomas 9cffc4a79a Bug 1355482 - documentation for partner repacks, r=aki
MozReview-Commit-ID: 5uRWpw2WJyE

--HG--
extra : rebase_source : 5353c9c2e29ecc48860d20b64aba69efca04be7f
2018-06-16 17:09:45 -07:00
Nick Thomas 7817b3216f Bug 1355482 - documentation cleanups for release promotion, r=aki
Various fixes for the docs to make docs better and sphinx happier
* remove unused targets which were duplicated in  balrog, partials
* fix up malformed targets and links
* convert docstrings to comments so sphinx ignores example response in utils/partials.py
* section underlines should match titles

MozReview-Commit-ID: GSYqsocBC4I

--HG--
extra : source : e464e9bbb42fb85170f1ce35a01f25811d753871
2018-06-27 17:42:08 +12:00
Simon Fraser 371a4da3a0 Bug 1469803 Separate bouncer-check for cron tests r=mtabara
We shouldn't run this on central, as it falls back to the dev configs, and fails.
It should be fine on beta/release/esr60. I had to move this version of the check to its own
kind to avoid the dependency tree bringing in the entire build process. Perhaps we can
refactor later to avoid duplication

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

--HG--
rename : taskcluster/ci/release-bouncer-check/kind.yml => taskcluster/ci/bouncer-check/kind.yml
2018-06-27 07:34:19 +00:00
Dave Hunt 831124838b Bug 1388016 - Add support for specifying the Python version to use in TaskCluster; r=ahal
MozReview-Commit-ID: Mo6KWrzPU3

--HG--
extra : rebase_source : 6debf2baf38ee525365e0958e2e25cc420ce5428
2018-06-21 06:07:01 +01:00
Coroiu Cristina e72433191e Merge inbound to mozilla-central a=merge 2018-06-22 12:55:04 +03:00
Justin Wood 3c7406df21 Bug 1301782 - Perform buildN tagging at promote phase. r=aki
for Tag RC releases

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

--HG--
extra : rebase_source : 72db9602e89bf7efded5c397cb0d911ca88f5e33
2018-06-21 14:01:02 -04:00
Dustin J. Mitchell 93195f4db6 Bug 1468627 - add docs pointing to ci-admin and ci-configuration; r=tomprince
This is just enough to make these repos discoverable and suggest their usage.
Anything more would duplicate documentation in those repositories.

MozReview-Commit-ID: 1WNEsoQBB9U

--HG--
extra : rebase_source : 19c25ee4b05fe72d2fed37ca68f75db3918d1c2f
2018-06-21 17:27:48 +00:00
Nick Thomas 6adee62041 Bug 1422471 - EME-free Firefox builds should be included in the checksums files (eg SHA256SUMS), r=aki
Chains a release-eme-free-repack-beetmover-checksums kind after release-eme-free-repack-beetmover, to move
the target.checksums generated by the latter into the beetmover-checksums/ in candidates directory. Those
are then consumed by release-generate-checksum kind.

A lot of details like scopes, worker & provisioner, attributes, as well as data like repack_id and
partner_path, are inherited directly from the parent beetmover task. Mainly to avoid recalculating them.

In contrast to nightly builds, GPG signing of target.checksums has not been implemented. I don't believe
that adds any value in our current system because the sigs are not verified.

MozReview-Commit-ID: 38iz3J2PAXh

--HG--
extra : rebase_source : 8f2bebe747d97437780f1bc0d9e2f42159aee8a6
2018-06-08 22:37:43 +12:00
Gregory Szorc 8922082362 Bug 1460777 - Taskgraph tasks for retrieving remote content; r=dustin, glandium
Currently, many tasks fetch content from the Internets. A problem with
that is fetching from the Internets is unreliable: servers may have
outages or be slow; content may disappear or change out from under us.

The unreliability of 3rd party services poses a risk to Firefox CI.
If services aren't available, we could potentially not run some CI tasks.
In the worst case, we might not be able to release Firefox. That would
be bad. In fact, as I write this, gmplib.org has been unavailable for
~24 hours and Firefox CI is unable to retrieve the GMP source code.
As a result, building GCC toolchains is failing.

A solution to this is to make tasks more hermetic by depending on
fewer network services (which by definition aren't reliable over time
and therefore introduce instability).

This commit attempts to mitigate some external service dependencies
by introducing the *fetch* task kind.

The primary goal of the *fetch* kind is to obtain remote content and
re-expose it as a task artifact. By making external content available
as a cached task artifact, we allow dependent tasks to consume this
content without touching the service originally providing that
content, thus eliminating a run-time dependency and making tasks more
hermetic and reproducible over time.

We introduce a single "fetch-url" "using" flavor to define tasks that
fetch single URLs and then re-expose that URL as an artifact. Powering
this is a new, minimal "fetch" Docker image that contains a
"fetch-content" Python script that does the work for us.

We have added tasks to fetch source archives used to build the GCC
toolchains.

Fetching remote content and re-exposing it as an artifact is not
very useful by itself: the value is in having tasks use those
artifacts.

We introduce a taskgraph transform that allows tasks to define an
array of "fetches." Each entry corresponds to the name of a "fetch"
task kind. When present, the corresponding "fetch" task is added as a
dependency. And the task ID and artifact path from that "fetch" task
is added to the MOZ_FETCHES environment variable of the task depending
on it. Our "fetch-content" script has a "task-artifacts"
sub-command that tasks can execute to perform retrieval of all
artifacts listed in MOZ_FETCHES.

To prove all of this works, the code for fetching dependencies when
building GCC toolchains has been updated to use `fetch-content`. The
now-unused legacy code has been deleted.

This commit improves the reliability and efficiency of GCC toolchain
tasks. Dependencies now all come from task artifacts and should always
be available in the common case. In addition, `fetch-content` downloads
and extracts files concurrently. This makes it faster than the serial
application which we were previously using.

There are some things I don't like about this commit.

First, a new Docker image and Python script for downloading URLs feels
a bit heavyweight. The Docker image is definitely overkill as things
stand. I can eventually justify it because I want to implement support
for fetching and repackaging VCS repositories and for caching Debian
packages. These will require more packages than what I'm comfortable
installing on the base Debian image, therefore justifying a dedicated
image.

The `fetch-content static-url` sub-command could definitely be
implemented as a shell script. But Python is readily available and
is more pleasant to maintain than shell, so I wrote it in Python.

`fetch-content task-artifacts` is more advanced and writing it in
Python is more justified, IMO. FWIW, the script is Python 3 only,
which conveniently gives us access to `concurrent.futures`, which
facilitates concurrent download.

`fetch-content` also duplicates functionality found elsewhere.
generic-worker's task payload supports a "mounts" feature which
facilitates downloading remote content, including from a task
artifact. However, this feature doesn't exist on docker-worker.
So we have to implement downloading inside the task rather than
at the worker level. I concede that if all workers had generic-worker's
"mounts" feature and supported concurrent download, `fetch-content`
wouldn't need to exist.

`fetch-content` also duplicates functionality of
`mach artifact toolchain`. I probably could have used
`mach artifact toolchain` instead of writing
`fetch-content task-artifacts`. However, I didn't want to introduce
the requirement of a VCS checkout. `mach artifact toolchain` has its
origins in providing a feature to the build system. And "fetching
artifacts from tasks" is a more generic feature than that. I think
it should be implemented as a generic feature and not something that is
"toolchain" specific.

I think the best place for a generic "fetch content" feature is in
the worker, where content can be defined in the task payload. But as
explained above, that feature isn't universally available. The next
best place is probably run-task. run-task already performs generic,
very-early task preparation steps, such as performing a VCS checkout.
I would like to fold `fetch-content` into run-task and make it all
driven by environment variables. But run-task is currently Python 2
and achieving concurrency would involve a bit of programming (or
adding package dependencies). I may very well port run-task to Python
3 and then fold fetch-content into it. Or maybe we leave
`fetch-content` as a standalone script.

MozReview-Commit-ID: AGuTcwNcNJR

--HG--
extra : source : 0b941cbdca76fb2fbb98dc5bbc1a0237c69954d0
extra : histedit_source : a3e43bdd8a9a58550bef02fec3be832ca304ea93
2018-06-06 14:37:49 -07:00
Gurzau Raul 53a10471cf Backed out 2 changesets (bug 1460777) for Toolchains failure on a CLOSED TREE
Backed out changeset 52ef9348401d (bug 1460777)
Backed out changeset 60ed097650b8 (bug 1460777)
2018-06-06 20:57:29 +03:00
Gregory Szorc 2f189264b9 Bug 1460777 - Taskgraph tasks for retrieving remote content; r=dustin,glandium
Currently, many tasks fetch content from the Internets. A problem with
that is fetching from the Internets is unreliable: servers may have
outages or be slow; content may disappear or change out from under us.

The unreliability of 3rd party services poses a risk to Firefox CI.
If services aren't available, we could potentially not run some CI tasks.
In the worst case, we might not be able to release Firefox. That would
be bad. In fact, as I write this, gmplib.org has been unavailable for
~24 hours and Firefox CI is unable to retrieve the GMP source code.
As a result, building GCC toolchains is failing.

A solution to this is to make tasks more hermetic by depending on
fewer network services (which by definition aren't reliable over time
and therefore introduce instability).

This commit attempts to mitigate some external service dependencies
by introducing the *fetch* task kind.

The primary goal of the *fetch* kind is to obtain remote content and
re-expose it as a task artifact. By making external content available
as a cached task artifact, we allow dependent tasks to consume this
content without touching the service originally providing that
content, thus eliminating a run-time dependency and making tasks more
hermetic and reproducible over time.

We introduce a single "fetch-url" "using" flavor to define tasks that
fetch single URLs and then re-expose that URL as an artifact. Powering
this is a new, minimal "fetch" Docker image that contains a
"fetch-content" Python script that does the work for us.

We have added tasks to fetch source archives used to build the GCC
toolchains.

Fetching remote content and re-exposing it as an artifact is not
very useful by itself: the value is in having tasks use those
artifacts.

We introduce a taskgraph transform that allows tasks to define an
array of "fetches." Each entry corresponds to the name of a "fetch"
task kind. When present, the corresponding "fetch" task is added as a
dependency. And the task ID and artifact path from that "fetch" task
is added to the MOZ_FETCHES environment variable of the task depending
on it. Our "fetch-content" script has a "task-artifacts"
sub-command that tasks can execute to perform retrieval of all
artifacts listed in MOZ_FETCHES.

To prove all of this works, the code for fetching dependencies when
building GCC toolchains has been updated to use `fetch-content`. The
now-unused legacy code has been deleted.

This commit improves the reliability and efficiency of GCC toolchain
tasks. Dependencies now all come from task artifacts and should always
be available in the common case. In addition, `fetch-content` downloads
and extracts files concurrently. This makes it faster than the serial
application which we were previously using.

There are some things I don't like about this commit.

First, a new Docker image and Python script for downloading URLs feels
a bit heavyweight. The Docker image is definitely overkill as things
stand. I can eventually justify it because I want to implement support
for fetching and repackaging VCS repositories and for caching Debian
packages. These will require more packages than what I'm comfortable
installing on the base Debian image, therefore justifying a dedicated
image.

The `fetch-content static-url` sub-command could definitely be
implemented as a shell script. But Python is readily available and
is more pleasant to maintain than shell, so I wrote it in Python.

`fetch-content task-artifacts` is more advanced and writing it in
Python is more justified, IMO. FWIW, the script is Python 3 only,
which conveniently gives us access to `concurrent.futures`, which
facilitates concurrent download.

`fetch-content` also duplicates functionality found elsewhere.
generic-worker's task payload supports a "mounts" feature which
facilitates downloading remote content, including from a task
artifact. However, this feature doesn't exist on docker-worker.
So we have to implement downloading inside the task rather than
at the worker level. I concede that if all workers had generic-worker's
"mounts" feature and supported concurrent download, `fetch-content`
wouldn't need to exist.

`fetch-content` also duplicates functionality of
`mach artifact toolchain`. I probably could have used
`mach artifact toolchain` instead of writing
`fetch-content task-artifacts`. However, I didn't want to introduce
the requirement of a VCS checkout. `mach artifact toolchain` has its
origins in providing a feature to the build system. And "fetching
artifacts from tasks" is a more generic feature than that. I think
it should be implemented as a generic feature and not something that is
"toolchain" specific.

I think the best place for a generic "fetch content" feature is in
the worker, where content can be defined in the task payload. But as
explained above, that feature isn't universally available. The next
best place is probably run-task. run-task already performs generic,
very-early task preparation steps, such as performing a VCS checkout.
I would like to fold `fetch-content` into run-task and make it all
driven by environment variables. But run-task is currently Python 2
and achieving concurrency would involve a bit of programming (or
adding package dependencies). I may very well port run-task to Python
3 and then fold fetch-content into it. Or maybe we leave
`fetch-content` as a standalone script.

MozReview-Commit-ID: AGuTcwNcNJR

--HG--
extra : rebase_source : 4918b8c3bac53d63665006802054038bfbca0314
2018-06-06 09:37:38 -07:00
Johan Lorenzo 8274f4793f Bug 1355482 - Add pushapk documentation r=bhearsum
MozReview-Commit-ID: JtT8TyROLaw

--HG--
extra : rebase_source : a7406d07ce74db881bfa0a3ce37365a34f9cbd31
2018-05-24 18:59:22 +02:00
Justin Wood 4a7ee168bf Bug 1286092 - Stub installer attribute. r=aki
for L10n jobs should run per-push based on the corresponding builds

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

--HG--
extra : rebase_source : 207d1c25e37ab2619a09fb209282ffe55025de26
2018-05-22 18:22:37 -04:00
Bogdan Tara 933c5069bd Backed out 16 changesets (bug 1286092) for L10n bustages CLOSED TREE
Backed out changeset ef828badfd93 (bug 1286092)
Backed out changeset 57a592e33f36 (bug 1286092)
Backed out changeset c9cf945aa4f9 (bug 1286092)
Backed out changeset d8c01d976acd (bug 1286092)
Backed out changeset 5d68dfd6325c (bug 1286092)
Backed out changeset 878e174255ff (bug 1286092)
Backed out changeset fa3e38422d49 (bug 1286092)
Backed out changeset fc6aebca89e3 (bug 1286092)
Backed out changeset f2271cd6af26 (bug 1286092)
Backed out changeset 7b828445f551 (bug 1286092)
Backed out changeset 5617053b1740 (bug 1286092)
Backed out changeset 556f54c5e209 (bug 1286092)
Backed out changeset db19ea492b02 (bug 1286092)
Backed out changeset 6eb40b38f9c9 (bug 1286092)
Backed out changeset 3eb4e39b9bcd (bug 1286092)
Backed out changeset b3c05f6e6a57 (bug 1286092)
2018-05-30 16:16:24 +03:00
Justin Wood 25f766f68a Bug 1286092 - Stub installer attribute. r=aki
for L10n jobs should run per-push based on the corresponding builds

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

--HG--
extra : rebase_source : 902aaff764db6df06b96e7ba8c7d717afd6869e3
2018-05-22 18:22:37 -04:00
Aki Sasaki b2492cd5c6 bug 1355482 - add in-tree signing docs. r=catlee
--HG--
extra : rebase_source : e39f92eb6713d145ce9b944bef5b2e54084f21de
2018-05-15 19:01:17 -07:00
Dustin J. Mitchell 1faeb13c08 Bug 1415868 - add 'mach taskgraph actions'; r=jonasfj,tomprince
MozReview-Commit-ID: ExVRgcD02GK

--HG--
extra : rebase_source : e823a8646655394f1644ed0010033a8cdf96ae0c
2018-04-23 21:14:14 +00:00
Sylvestre Ledru 7c7499f5e1 Bug 1462405 - Fix a typo r=callek 2018-05-20 13:08:35 +02:00
Sylvestre Ledru e431f63203 Bug 1462405 - Fix some new typos found by codespell v1.13 r=sylvestre
MozReview-Commit-ID: Fz126NcT5Ur

--HG--
extra : rebase_source : 1c9a2eb47da186e6105ed1ceaa5a40c733c87a6e
2018-05-19 20:17:43 +02:00
Tom Prince 90b93a6db8 Bug 1458700: [release-promotion] Use a common target task for firefox and devedition; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D1122

--HG--
extra : rebase_source : cf124d67fa250f13306a98a9412e64347b9fde68
2018-05-02 18:33:52 -06:00
Tom Prince 9bebf482da Bug 1458700: [release-promotion] Move configuration of flavors into the graph configuration; r=aki,dustin
Differential Revision: https://phabricator.services.mozilla.com/D1121

--HG--
extra : rebase_source : 270cb6a6a2c6255c585b46cc410110f83010ec6f
2018-04-23 00:17:30 -06:00
Tom Prince 36986d6888 487c3 Bug 1456234: [release] Use `-release` platforms for bouncer tasks; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D1288

--HG--
extra : rebase_source : 813072f74f9660bc860a39485ace349d4c85a8b4
extra : source : e696372662260555e7d77aa63596e0f1428a112d
2018-05-15 13:09:12 -06:00
Tom Prince 9d8a9b566e Bug 1456234: [release] Rename `beetmover-cdns` to `release-beetmover-push-to-release`; r=aki
Differential Revision: https://phabricator.services.mozilla.com/D1138

--HG--
rename : taskcluster/ci/beetmover-cdns/kind.yml => taskcluster/ci/release-beetmover-push-to-release/kind.yml
rename : taskcluster/taskgraph/transforms/beetmover_cdns.py => taskcluster/taskgraph/transforms/beetmover_push_to_release.py
extra : rebase_source : c1a6c5dcca1bc82724a342f5859db285169c226c
extra : source : 09466f664b581b4f0020a2ba3d959d1f16bbca57
2018-05-04 09:37:46 -06:00
Andi-Bogdan Postelnicu 7ff371efa8 Bug 1432410 - Add tests in tree to make sure we don't regress with clang-tidy on static-analisys. Tests wrote in part by :sylvestre. r=gps
MozReview-Commit-ID: IWxzKfWNIHG

--HG--
extra : rebase_source : e6860d1adcc06bb1e4383cb76be02089a0ef61f9
2018-05-03 20:06:16 +03:00
Rob Wood ced102a09b Bug 1455872 - Add taskcluster configs for raptor on OSX; r=jmaher
MozReview-Commit-ID: I67InZTEziy

--HG--
extra : rebase_source : b18672eca2d3922367d3e4e50ff4b451a06e479e
2018-04-24 10:30:42 -04:00
Mihai Tabara b0de0153b7 Bug 1446815 - cleanup in naming beetmover source checksums for consistency. r=tomprince
--HG--
rename : taskcluster/ci/beetmover-release-source-checksums/kind.yml => taskcluster/ci/release-beetmover-source-checksums/kind.yml
extra : rebase_source : 46fad2100b374cd281db315472b0398a955211dc
extra : source : 7b33e1765372bb178a33e67a3a161d102c536906
2018-05-03 19:51:20 +03:00
Dave Hunt d5d4c1b840 Bug 1455570 - Build and publish TPS add-on; r=dustin,ted
MozReview-Commit-ID: HOsTcmg1m7e

--HG--
extra : rebase_source : 57ee75482fe1204d741f851ed51f32a06146ae08
2018-04-23 14:32:05 +01: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
Mihai Tabara 0d2a8b9577 Bug 1446815 - add source shas in release checksums. r=aki a=release
--HG--
extra : rebase_source : a9bc8a6087c809cac31e47a82a02af87aaa6a85c
extra : source : b7eafd965f5dad12c1914f32c610e0d23fb220e8
2018-04-30 19:05:35 +03:00
Tom Prince 834d10278e Bug 1442545: [partner-repack] Sign repacked partner builds; r=Callek CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D983

--HG--
extra : source : d05a241acdea1cd4ccbdff66d3c5be5d3d90a26f
extra : amend_source : 5350b45cfad214caabaca89e00eca59727db3a2c
2018-04-18 12:17:09 -06:00
Tom Prince 2e749d3e5a Bug 1442545: [partner-repack] Beetmove the partner repacks; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D992

--HG--
extra : rebase_source : 66571663a4f3455a3f5b9d5afa616c48a35e46ad
extra : source : f292fad571a41e45706cd75a0b0afde7feff58e0
extra : histedit_source : 304e44cef85dfe8514748db3fad484a09cbca727
2018-04-18 12:19:14 -06:00
Tom Prince 5ab88d1ae9 Bug 1442545: [partner-repack] Repackage signed partner builds; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D982

--HG--
extra : rebase_source : 2ac19d749ba9f2dbbebb594d31b144c3d4cbf673
extra : histedit_source : e7f3fa0f7615bd3cd40eb73a49049364acc42d63
2018-04-18 12:06:17 -06:00
Tom Prince fd906f4207 Bug 1442545: [partner-repack] Sign partner builds; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D981

--HG--
extra : rebase_source : 70270db813298a871ca53dbe8c7aca57a12e4fb5
extra : histedit_source : 06fc88f9f5d1f008f9cc42a6c950ee471adeba56
2018-04-18 12:02:24 -06:00
Tom Prince c4549c8e6b Bug 1442545: [partner-repack] Add repack partner builds; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D980

--HG--
extra : rebase_source : cc2a3419115cd40f5cd3f997071b0e1b46324821
extra : histedit_source : 24f8156d534da14a89a149c86eeecb57eb74ec23
2018-04-18 11:02:02 -06:00
Tom Prince 8ad6e70430 Bug 1442545: [partner-repack] Add parameters needed for doing partner repacks; r=Callek
Differential Revision: https://phabricator.services.mozilla.com/D977

--HG--
extra : rebase_source : 0f2ef4edf6093d644c82c6b0475ba7796ebaa90b
extra : histedit_source : b446b09b30a0f709f4c80eaf69ec40952562ce6d
2018-04-16 20:48:40 -06:00
Simon Fraser a1f260050b Bug 1355482 Fix partials documentation code block r=bhearsum
Summary: A space was needed to make the code block show up

Reviewers: bhearsum

Reviewed By: bhearsum

Bug #: 1355482

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

--HG--
extra : rebase_source : 58c163102ddfd9982a98c0bc2ef9967fbf883d15
2018-04-18 15:01:36 +01:00
Brindusan Cristian 8bcf097e09 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-17 13:10:25 +03:00
Simon Fraser 88c37965dd Bug 1454343 Update taskcluster cron documentation r=dustin
Reviewers: dustin

Reviewed By: dustin

Bug #: 1454343

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

--HG--
extra : rebase_source : 50cce8d7c47dfaca18358d1c590eadd7417bd93c
2018-04-17 07:42:23 +01:00
shindli 805cb19c1d Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-17 01:45:58 +03:00
Ben Hearsum f3da0aa384 bug 1355482: document taskcluster releng implementation and release promotion - add missing file. r=aki 2018-04-16 11:25:24 -04:00
Tom Prince c31f0f3cb8 Bug 1418058: [taskcluster] Update actions to take and use graph configuration; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D916

--HG--
extra : rebase_source : 5b12a52dfa146a0e33b93387deb3e5178a078b3a
2018-04-09 21:30:36 -06:00
Tom Prince ec7000854d Bug 1418058: [taskcluster] Pass a graph_config through action task generation; r=dustin
Differential Revision: https://phabricator.services.mozilla.com/D912

--HG--
extra : rebase_source : 7773c3f795e42e470c16986bd71e044169ac0f99
2018-04-11 10:24:14 -06:00
Simon Fraser 528a2ea01a Bug 1453616 Disable buildbot periodic file updates r=Callek
Summary:
Disable just the buildbot version of the periodic file updates in the file_update action.
Removing the code will happen later.

Reviewers: Callek

Reviewed By: Callek

Bug #: 1453616

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

--HG--
extra : rebase_source : 929ac46305f72ef0355f040243270e2f1f032de3
2018-04-13 15:20:11 +01:00
Justin Wood b961727191 Bug 1441353. Fix beta decision bustage. r=aki a=bustage on a CLOSED TREE
--HG--
extra : source : 5a573ad73b78509ff92daed4d161fb9244fb8dc1
extra : amend_source : fe0ee4fc437774c8e5b22c069949e4320c86c9bc
2018-04-12 13:11:04 -04:00
Johan Lorenzo 0ee2315067 Bug 1441353 - part 2: Add beetmover job to publish signed langpacks r=Callek
MozReview-Commit-ID: HXjcclf3OeX

--HG--
extra : rebase_source : 6373b17fc730d6d1b301a874ae0686991f3fdbb2
2018-04-06 16:04:27 +02:00
Johan Lorenzo 5cacd43863 Bug 1441353 - part 1: Add AMO tasks for signing and uploading r=Callek
MozReview-Commit-ID: LplkEtjR2Mt

--HG--
extra : rebase_source : 1b782e1370664f4bc5890a40b4b3afc1bed6f404
2018-03-30 18:22:38 +02:00
Simon Fraser 8829238468 Bug 1355482 Partials documentation r=bhearsum
Reviewers: bhearsum

Reviewed By: bhearsum

Bug #: 1355482

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

--HG--
extra : rebase_source : 48d81a80ea1178e2f426a040a27615da6cfd40ed
2018-04-11 16:13:05 +01:00
Ben Hearsum c8816caaf1 bug 1355482: document taskcluster releng implementation and release promotion - add in depth balrog docs. r=aki 2018-04-10 15:24:57 -04:00
Aki Sasaki 1158e221dd bug 1442793 - add artifact_prefix attribute. r=bhearsum
MozReview-Commit-ID: GrAiC3sUaEp

--HG--
extra : rebase_source : 62267a238fa9054009351832d6e8326cbc0c4c27
2018-03-07 10:27:55 -08:00
Johan Lorenzo bd5684096a Bug 1447263 - Snap: Split build and upload task r=rail
MozReview-Commit-ID: DGLQZLTjJDu

--HG--
rename : taskcluster/ci/release-snap/kind.yml => taskcluster/ci/release-snap-repackage/kind.yml
rename : taskcluster/taskgraph/transforms/release_snap.py => taskcluster/taskgraph/transforms/release_snap_repackage.py
extra : rebase_source : dcd16e9e7e28f1817de12ff469c1456305a2dafc
2018-03-20 17:19:50 +01:00
Aki Sasaki 46478d2583 bug 1355482 - relpro docs: address dustin's review comments. r=dustin
--HG--
extra : rebase_source : d31b295a5c4b3a57bc7dd0f64e7143971135c23b
2018-03-27 17:39:24 -07:00
Gregory Szorc 365d4042e9 Bug 1448438 - Document how to upgrade Mercurial in CI; r=sheehan
We don't have docs for how to upgrade Mercurial in CI. A lot of it
is organic institutional knowledge that lives in various people's
heads. That's not good for continuity of business.

This commit starts to establish documentation for how to upgrade
Mercurial in Firefox CI.

The documentation for updating things in-tree is pretty robust
(because I've done it a handful of times and know what is involved).
But the docs for OpenCloudConfig and Puppet could certainly be
improved. I'll poke the respective maintainers of these systems
to help improve these docs as a follow-up.

MozReview-Commit-ID: Aruh3N8Llls

--HG--
extra : rebase_source : 5d82ffd1d2b808082d824274db33586f71899599
2018-03-23 12:43:36 -07:00
Aki Sasaki 399114003f bug 1355482 - release promotion doc review followup. r=bhearsum
--HG--
extra : rebase_source : 40fd5414cbd3d8fdde7d1085891dc8fe920d342c
2018-03-22 12:00:22 -07:00