diff options
author | Moonchild <moonchild@palemoon.org> | 2022-02-12 17:47:03 +0000 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2022-02-12 14:23:18 -0600 |
commit | f66babd8b8368ada3e5aa29cdef1c77291ee4ddd (patch) | |
tree | e3842e2a6bf19090185f9c475b3846e1bb79ac97 /.taskcluster.yml | |
download | GRE-f66babd8b8368ada3e5aa29cdef1c77291ee4ddd.tar.gz |
Create the Goanna Runtime Environment
Diffstat (limited to '.taskcluster.yml')
-rw-r--r-- | .taskcluster.yml | 125 |
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 |