tenfourfox/testing/taskcluster/tasks/decision/branch.yml
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

90 lines
3.0 KiB
YAML

---
metadata:
name: 'Task graph used to build {{project}} specific jobs'
description: |
{{project}} 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:
routes:
- tc-treeherder-stage.{{project}}.{{revision_hash}}
- tc-treeherder.{{project}}.{{revision_hash}}
created: '{{now}}'
deadline: '{{#from_now}}1 day{{/from_now}}'
metadata:
owner: mozilla-taskcluster-maintenance@mozilla.com
source: {{{source}}}
name: Initial decision task for {{project}} specific graphs
description: |
This is the single most important task as it decides how all other tasks
get built.
tags:
createdForUser: {{owner}}
workerType: "gecko-decision"
provisionerId: "aws-provisioner-v1"
scopes:
- "docker-worker:cache:tc-vcs-public-sources"
payload:
env:
GECKO_BASE_REPOSITORY: '{{{url}}}'
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/'
# 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.3.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
- >
source ./bin/decision.sh &&
mkdir -p /home/worker/artifacts &&
./mach taskcluster-graph
--pushlog-id='{{pushlog_id}}'
--message='{{comment}}'
--project='{{project}}'
--owner='{{owner}}'
--revision-hash='{{revision_hash}}'
--extend-graph > /home/worker/artifacts/graph.json
graphs:
- /home/worker/artifacts/graph.json
artifacts:
'public':
type: 'directory'
path: '/home/worker/artifacts'
# Arbitrary value for keeping these artifacts around. They are just the
# graph.json and context directories for now, so nothing that needs
# to stay around for long.
expires: '{{#from_now}}7 days{{/from_now}}'
extra:
treeherder:
symbol: D