---version:0metadata:name:'TaskclustertasksforGecko'description:"ThetaskclustertaskgraphforGeckotrees"owner:mozilla-taskcluster-maintenance@mozilla.comsource:{{{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:*# This file undergoes substitution to create tasks. For on-push tasks, that# substitution is done by mozilla-taskcluster. For cron tasks, that substitution# is done by `taskcluster/taskgraph/cron/decision.py`. If you change any of the# template parameters, please do so in all three places!## Available template parameters:## - now: current time# - 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: 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# - shellquote: quote the contents for injection into shell# 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}}decisiontask{{/as_slugid}}'task:created:'{{now}}'deadline:'{{#from_now}}1day{{/from_now}}'expires:'{{#from_now}}365day{{/from_now}}'metadata:owner:mozilla-taskcluster-maintenance@mozilla.comsource:{{{source}}}name:"GeckoDecisionTask"description:|The task that creates all of the other tasks in the task graphworkerType:"gecko-decision"provisionerId:"aws-provisioner-v1"tags:createdForUser:{{owner}}routes:-"index.gecko.v2.{{project}}.latest.firefox.decision"-"tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"-"tc-treeherder-stage.v2.{{project}}.{{revision}}.{{pushlog_id}}"-"notify.email.{{owner}}.on-failed"-"notify.email.{{owner}}.on-exception"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-storecache:level-{{level}}-checkouts:/home/worker/checkoutsfeatures:taskclusterProxy:truechainOfTrust:true# Note: This task is built server side without the context or tooling that# exist in tree so we must hard code the hash# XXX Changing this will break Chain of Trust without an associated puppet and# scriptworker patch!image:'taskcluster/decision:0.1.8@sha256:195d8439c8e90d59311d877bd2a8964849b2e43bfc6c234092618518d8b2891b'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}}'artifacts:'public':type:'directory'path:'/home/worker/artifacts'expires:'{{#from_now}}364days{{/from_now}}'extra:treeherder:symbol:D