bug 1423081 - desktop tc relpro taskcluster docs. r=callek
MozReview-Commit-ID: JJGlzcJbBR4
--- a/taskcluster/docs/attributes.rst
+++ b/taskcluster/docs/attributes.rst
@@ -188,9 +188,18 @@ run. Typically these tasks will be short
a backout. For example ``lint`` or ``python-unittest`` tasks.
shipping_product
================
For release promotion jobs, this is the product we are shipping.
shipping_phase
==============
-For release promotion jobs, this is the shipping phase (promote, publish, ship).
+For release promotion jobs, this is the shipping phase (build, promote, push, ship).
+During the build phase, we build and sign shippable builds. During the promote phase,
+we generate l10n repacks and push to the candidates directory. During the push phase,
+we push to the releases directory. During the ship phase, we update bouncer, push to
+Google Play, version bump, mark as shipped in ship-it.
+
+Using the "snowman model", we depend on previous graphs if they're defined. So if we
+ask for a ``push`` (the head of the snowman) and point at the body and base, we only
+build the head. If we don't point at the body and base, we build the whole snowman
+(build, promote, push).
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -195,16 +195,21 @@ Beetmover-repackage is beetmover but for
between signing and packaging, such as OSX. For more details see the definitions
of the Beetmover kind above and the repackage kind below.
beetmover-cdns
-------------------
Beetmover-cdns publishes promoted releases to CDNs. This is part of release promotion.
+beetmover-source
+-------------------
+
+Beetmover-source publishes release source. This is part of release promotion.
+
checksums-signing
-----------------
Checksums-signing take as input the checksums file generated by beetmover tasks
and sign it via the signing scriptworkers. Returns the same file signed and
additional detached signature.
beetmover-checksums
-------------------
@@ -219,23 +224,36 @@ kind depend on all the signed multi-loca
in order to make the decision.
push-apk
--------
PushApk publishes Android packages onto Google Play Store. Jobs of this kind take
all the signed multi-locales (aka "multi") APKs for a given release and upload them
all at once. They also depend on the breakpoint.
-release-notify-publish
+release-binary-transparency
+---------------------------
+Binary transparency creates a publicly verifiable log of binary shas for downstream
+release auditing. https://wiki.mozilla.org/Security/Binary_Transparency
+
+release-snap
+------------
+Generate an installer using Ubuntu's Snap format.
+
+release-notify-push
----------------------
-Notify when publishing a release.
+Notify when a release has been pushed to CDNs.
+
+release-notify-ship
+----------------------
+Notify when a release has been shipped.
release-notify-promote
----------------------
-Notify when promoting a release.
+Notify when a release has been promoted.
release-bouncer-sub
-------------------
Submits bouncer updates for releases.
release-mark-as-shipped
-----------------------
Marks releases as shipped in Ship-It.
@@ -267,16 +285,28 @@ Top level Balrog blob submission & patch
release-uptake-monitoring
-------------------------
Run uptake monitoring for releases.
release-version-bump
--------------------
Bumps to the next version.
+release-source
+--------------------
+Generates source for the release
+
+release-source-signing
+--------------------
+Signs source for the release
+
+release-partner-repack
+----------------------
+Generates customized versions of releases for partners.
+
repackage
---------
Repackage tasks take a signed output and package them up into something suitable
for shipping to our users. For example, on OSX we return a tarball as the signed output
and this task would package that up as an Apple Disk Image (.dmg)
repackage-l10n
--------------
@@ -297,8 +327,20 @@ partials
--------
Partials takes the complete.mar files produced in previous tasks and generates partial
updates between previous nightly releases and the new one. Requires a release_history
in the parameters. See ``mach release-history`` if doing this manually.
partials-signing
----------------
Partials-signing takes the partial updates produced in Partials and signs them.
+
+post-balrog-dummy
+--------------------
+Dummy tasks to consolidate balrog dependencies to avoid taskcluster limits on number of dependencies per task.
+
+post-beetmover-dummy
+--------------------
+Dummy tasks to consolidate beetmover dependencies to avoid taskcluster limits on number of dependencies per task.
+
+post-beetmover-checksums-dummy
+------------------------------
+Dummy tasks to consolidate beetmover-checksums dependencies to avoid taskcluster limits on number of dependencies per task.
--- a/taskcluster/taskgraph/target_tasks.py
+++ b/taskcluster/taskgraph/target_tasks.py
@@ -301,18 +301,18 @@ def target_tasks_mozilla_release(full_ta
return [l for l, t in full_task_graph.tasks.iteritems() if
filter_beta_release_tasks(t, parameters)]
@_target_task('promote_firefox')
def target_tasks_promote_firefox(full_task_graph, parameters, graph_config):
"""Select the superset of tasks required to promote a beta or release build
- of firefox. This should include all non-android mozilla_beta tasks, plus
- l10n, beetmover, balrog, etc."""
+ of firefox. This should include all non-android mozilla_{beta,release} tasks,
+ plus l10n, beetmover, balrog, etc."""
beta_release_tasks = [l for l, t in full_task_graph.tasks.iteritems() if
filter_beta_release_tasks(t, parameters,
ignore_kinds=[],
allow_l10n=True)]
def filter(task):
platform = task.attributes.get('build_platform')
@@ -398,18 +398,18 @@ def target_tasks_ship_firefox(full_task_
# TODO: checksums
return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]
@_target_task('promote_devedition')
def target_tasks_promote_devedition(full_task_graph, parameters, graph_config):
"""Select the superset of tasks required to promote a beta or release build
- of devedition. This should include all non-android mozilla_beta tasks, plus
- l10n, beetmover, balrog, etc."""
+ of devedition. This should include all non-android mozilla_{beta,release}
+ tasks, plus l10n, beetmover, balrog, etc."""
beta_release_tasks = [l for l, t in full_task_graph.tasks.iteritems() if
filter_beta_release_tasks(t, parameters,
ignore_kinds=[],
allow_l10n=True)]
def filter(task):
platform = task.attributes.get('build_platform')