bug 1442793 - add artifact_prefix attribute. r=bhearsum, a=release
authorAki Sasaki <asasaki@mozilla.com>
Wed, 07 Mar 2018 10:27:55 -0800
changeset 463396 48041f717ab3c7f0b8e445a1cefe6c02a8edb7ac
parent 463395 099ac70a562cb307400fbee92a487e541367f0d5
child 463397 33261b7f985a353d9311c3542540cf5a923b58bd
push id1683
push usersfraser@mozilla.com
push dateThu, 26 Apr 2018 16:43:40 +0000
treeherdermozilla-release@5af6cb21869d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbhearsum, release
bugs1442793
milestone60.0
bug 1442793 - add artifact_prefix attribute. r=bhearsum, a=release 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
@@ -22,17 +22,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