Bug 1286075: add artifact-build kind; r=chmanchester r=gps draft
authorDustin J. Mitchell <dustin@mozilla.com>
Wed, 07 Sep 2016 01:01:52 +0000
changeset 412745 8217167bebae2100b1b961abefe2645322efc7b0
parent 412744 6105ddb3bcfc238180d572a579e5d8bd185ffe4b
child 412746 7eeadb6ae5481164fe2c06034b312c18cfe1d7d7
push id29252
push userdmitchell@mozilla.com
push dateMon, 12 Sep 2016 19:16:39 +0000
reviewerschmanchester, gps
bugs1286075
milestone51.0a1
Bug 1286075: add artifact-build kind; r=chmanchester r=gps MozReview-Commit-ID: 41WpDtXvoPb
taskcluster/ci/artifact-build/kind.yml
taskcluster/docs/kinds.rst
taskcluster/taskgraph/try_option_syntax.py
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/artifact-build/kind.yml
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+   - taskgraph.transforms.build_attrs:transforms
+   - taskgraph.transforms.job:transforms
+   - taskgraph.transforms.task:transforms
+
+jobs:
+    linux64-artifact/opt:
+        description: "Linux64 Opt Artifact Build"
+        index:
+            product: firefox
+            job-name: linux64-artifact-opt
+        treeherder:
+            platform: linux64/opt
+            kind: build
+            symbol: AB
+            tier: 2
+        worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+        worker:
+            implementation: docker-worker
+            docker-image: {in-tree: desktop-build}
+            max-run-time: 36000
+        run:
+            using: mozharness
+            actions: [get-secrets build generate-build-stats]
+            config:
+                - builds/releng_sub_linux_configs/64_artifact.py
+                - balrog/production.py
+            script: "mozharness/scripts/fx_desktop_build.py"
+            secrets: true
+            tooltool-downloads: public
+            need-xvfb: true
+            keep-artifacts: false
+
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -6,16 +6,23 @@ This section lists and documents the ava
 build
 ------
 
 Builds are tasks that produce an installer or other output that can be run by
 users or automated tests.  This is more restrictive than most definitions of
 "build" in a Mozilla context: it does not include tasks that run build-like
 actions for static analysis or to produce instrumented artifacts.
 
+artifact-build
+--------------
+
+This kind performs an artifact build: one based on precompiled binaries
+discovered via the TaskCluster index.  This task verifies that such builds
+continue to work correctly.
+
 Tests
 -----
 
 Test tasks for Gecko products are divided into several kinds, but share a
 common implementation.  The process goes like this, based on a set of YAML
 files named in ``kind.yml``:
 
  * For each build task, determine the related test platforms based on the build
--- a/taskcluster/taskgraph/try_option_syntax.py
+++ b/taskcluster/taskgraph/try_option_syntax.py
@@ -19,16 +19,17 @@ TRY_DELIMITER = 'try:'
 BUILD_TYPE_ALIASES = {
     'o': 'opt',
     'd': 'debug'
 }
 
 # consider anything in this whitelist of kinds to be governed by -b/-p
 BUILD_KINDS = set([
     'build',
+    'artifact-build',
 ])
 
 # anything in this list is governed by -j
 JOB_KINDS = set([
 ])
 
 
 # mapping from shortcut name (usable with -u) to a boolean function identifying