gecko-dev/testing/taskcluster/tasks/decision/try.yml

89 строки
2.9 KiB
YAML

---
metadata:
name: 'Taskcluster decision task for {{project}}'
description: |
Try push for {{owner}}.
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:*
tasks:
- taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
reruns: 3
task:
created: '{{now}}'
deadline: '{{#from_now}}1 day{{/from_now}}'
metadata:
owner: mozilla-taskcluster-maintenance@mozilla.com
source: {{{source}}}
name: "[tc] Initial decision task for try"
description: |
This is the single most important task as it decides how all other tasks
get built.
workerType: "gecko-decision"
provisionerId: "aws-provisioner-v1"
tags:
createdForUser: {{owner}}
scopes:
- "docker-worker:cache:tc-vcs-public-sources"
- "docker-worker:image:quay.io/mozilla/decision:0.0.3"
- "queue:route:tc-treeherder-stage.{{project}}.{{revision_hash}}"
- "queue:route:tc-treeherder.{{project}}.{{revision_hash}}"
routes:
- "tc-treeherder.{{project}}.{{revision_hash}}"
- "tc-treeherder-stage.{{project}}.{{revision_hash}}"
payload:
env:
GECKO_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-central'
GECKO_HEAD_REPOSITORY: '{{{url}}}'
GECKO_HEAD_REF: '{{revision}}'
GECKO_HEAD_REV: '{{revision}}'
cache:
# The taskcluster-vcs tooling stores the large clone caches in this
# directory and will reuse them for new requests this saves about 20s~ and
# is the most generic cache possible.
tc-vcs-public-sources: /home/worker/.tc-vcs/
gecko-decision: /home/worker/workspace
# Note: This task is built server side without the context or tooling that
# exist in tree so we must hard code the version
image: 'quay.io/mozilla/builder:0.5.0'
# Virtually no network or other potentially risky operations happen as part
# of the task timeout aside from the initial clone. We intentionally have
# set this to a lower value _all_ decision tasks should use a root
# repository which is cached.
maxRunTime: 1800
command:
- /bin/bash
- -cx
- >
checkout-gecko workspace &&
cd workspace/gecko &&
./mach taskcluster-graph
--pushlog-id='{{pushlog_id}}'
--project='{{project}}'
--message='{{comment}}'
--owner='{{owner}}'
--revision-hash='{{revision_hash}}'
--extend-graph > /home/worker/graph.json
graphs:
- /home/worker/graph.json
extra:
treeherder:
symbol: D