summaryrefslogtreecommitdiff
path: root/.taskcluster.yml
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2022-02-12 17:47:03 +0000
committerMatt A. Tobin <email@mattatobin.com>2022-02-12 14:23:18 -0600
commitf66babd8b8368ada3e5aa29cdef1c77291ee4ddd (patch)
treee3842e2a6bf19090185f9c475b3846e1bb79ac97 /.taskcluster.yml
downloadGRE-f66babd8b8368ada3e5aa29cdef1c77291ee4ddd.tar.gz
Create the Goanna Runtime Environment
Diffstat (limited to '.taskcluster.yml')
-rw-r--r--.taskcluster.yml125
1 files changed, 125 insertions, 0 deletions
diff --git a/.taskcluster.yml b/.taskcluster.yml
new file mode 100644
index 000000000..ea3798bc5
--- /dev/null
+++ b/.taskcluster.yml
@@ -0,0 +1,125 @@
+---
+version: 0
+metadata:
+ name: 'Taskcluster tasks for Gecko'
+ description: "The taskcluster task graph for Gecko trees"
+ owner: mozilla-taskcluster-maintenance@mozilla.com
+ source: {{{source}}}
+
+scopes:
+ # Note the below scopes are insecure however these get overriden on the server
+ # side to whatever scopes are set by mozilla-taskcluster.
+ - queue:*
+ - docker-worker:*
+ - scheduler:*
+
+# Available mustache parameters (see the mozilla-taskcluster source):
+#
+# - owner: push user (email address)
+# - source: URL of this YAML file
+# - url: repository URL
+# - project: alias for the destination repository (basename of
+# the repo url)
+# - level: SCM level of the destination repository
+# (1 = try, 3 = core)
+# - revision: (short) hg revision of the head of the push
+# - revision_hash: (long) hg revision of the head of the push
+# - comment: comment of the push
+# - pushlog_id: id in the pushlog table of the repository
+#
+# and functions:
+# - as_slugid: convert a label into a slugId
+# - from_now: generate a timestamp at a fixed offset from now
+
+# The resulting tasks' taskGroupId will be equal to the taskId of the first
+# task listed here, which should be the decision task. This gives other tools
+# an easy way to determine the ID of the decision task that created a
+# particular group.
+
+tasks:
+ - taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
+ task:
+ created: '{{now}}'
+ deadline: '{{#from_now}}1 day{{/from_now}}'
+ expires: '{{#from_now}}365 day{{/from_now}}'
+ metadata:
+ owner: mozilla-taskcluster-maintenance@mozilla.com
+ source: {{{source}}}
+ name: "Gecko Decision Task"
+ description: |
+ The task that creates all of the other tasks in the task graph
+
+ workerType: "gecko-decision"
+ provisionerId: "aws-provisioner-v1"
+
+ tags:
+ createdForUser: {{owner}}
+
+ scopes:
+ # Bug 1269443: cache scopes, etc. must be listed explicitly
+ - "docker-worker:cache:level-{{level}}-*"
+ - "docker-worker:cache:tooltool-cache"
+ # mozilla-taskcluster will append the appropriate assume:repo:<repo>
+ # scope here.
+
+ routes:
+ - "index.gecko.v2.{{project}}.latest.firefox.decision"
+ - "tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"
+ - "tc-treeherder-stage.v2.{{project}}.{{revision}}.{{pushlog_id}}"
+
+ payload:
+ env:
+ # checkout-gecko uses these to check out the source; the inputs
+ # to `mach taskgraph decision` are all on the command line.
+ GECKO_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-unified'
+ GECKO_HEAD_REPOSITORY: '{{{url}}}'
+ GECKO_HEAD_REF: '{{revision}}'
+ GECKO_HEAD_REV: '{{revision}}'
+ HG_STORE_PATH: /home/worker/checkouts/hg-store
+
+ cache:
+ level-{{level}}-checkouts: /home/worker/checkouts
+
+ features:
+ taskclusterProxy: true
+ chainOfTrust: true
+
+ # Note: This task is built server side without the context or tooling that
+ # exist in tree so we must hard code the version
+ image: 'taskcluster/decision:0.1.7'
+
+ maxRunTime: 1800
+
+ # TODO use mozilla-unified for the base repository once the tc-vcs
+ # tar.gz archives are created or tc-vcs isn't being used.
+ command:
+ - /home/worker/bin/run-task
+ - '--vcs-checkout=/home/worker/checkouts/gecko'
+ - '--'
+ - bash
+ - -cx
+ - >
+ cd /home/worker/checkouts/gecko &&
+ ln -s /home/worker/artifacts artifacts &&
+ ./mach --log-no-times taskgraph decision
+ --pushlog-id='{{pushlog_id}}'
+ --pushdate='{{pushdate}}'
+ --project='{{project}}'
+ --message={{#shellquote}}{{{comment}}}{{/shellquote}}
+ --owner='{{owner}}'
+ --level='{{level}}'
+ --base-repository='https://hg.mozilla.org/mozilla-central'
+ --head-repository='{{{url}}}'
+ --head-ref='{{revision}}'
+ --head-rev='{{revision}}'
+ --revision-hash='{{revision_hash}}'
+
+ artifacts:
+ 'public':
+ type: 'directory'
+ path: '/home/worker/artifacts'
+ expires: '{{#from_now}}364 days{{/from_now}}'
+
+ extra:
+ treeherder:
+ symbol: D