bug 1442793 - add artifact_prefix attribute. r=bhearsum
authorAki Sasaki <asasaki@mozilla.com>
Wed, 07 Mar 2018 10:27:55 -0800
changeset 467484 9f8c088dce9f9ec8a0ca3c708e14ac298e207414
parent 467483 f154057ddc01b537e163386065a768bf514d2c4b
child 467485 0ffeb06f9541f6ac7d78c165fd8badc32e699d5a
push id9165
push userasasaki@mozilla.com
push dateThu, 26 Apr 2018 21:04:54 +0000
treeherdermozilla-beta@064c3804de2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbhearsum
bugs1442793
milestone61.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 1442793 - add artifact_prefix attribute. r=bhearsum MozReview-Commit-ID: GrAiC3sUaEp
taskcluster/docs/attributes.rst
taskcluster/taskgraph/util/attributes.py
--- a/taskcluster/docs/attributes.rst
+++ b/taskcluster/docs/attributes.rst
@@ -198,8 +198,15 @@ During the build phase, we build and sig
 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).
+
+artifact_prefix
+===============
+Most taskcluster artifacts are public, so we've hardcoded ``public/build`` in a
+lot of places. To support private artifacts, we've moved this to the
+``artifact_prefix`` attribute. It will default to ``public/build`` but will be
+overrideable per-task.
--- a/taskcluster/taskgraph/util/attributes.py
+++ b/taskcluster/taskgraph/util/attributes.py
@@ -24,17 +24,22 @@ RELEASE_PROJECTS = {
 
 RELEASE_PROMOTION_PROJECTS = {
     'jamun',
     'maple',
     'try',
 } | RELEASE_PROJECTS
 
 _OPTIONAL_ATTRIBUTES = (
-    'nightly', 'signed', 'l10n_chunk', 'shipping_product', 'shipping_phase'
+    'artifact_prefix',
+    'l10n_chunk',
+    'nightly',
+    'signed',
+    'shipping_phase',
+    'shipping_product',
 )
 
 
 def attrmatch(attributes, **kwargs):
     """Determine whether the given set of task attributes matches.  The
     conditions are given as keyword arguments, where each keyword names an
     attribute.  The keyword value can be a literal, a set, or a callable.  A
     literal must match the attribute exactly.  Given a set, the attribute value