1# This file is rendered via JSON-e in a hook with context: 2# { 3# tasks_for: 'hg-push', 4# push: {owner, pushlog_id, pushdate}, 5# repository: {url, project, level}, 6# now, 7# ownTaskId: // taskId of the task that will be created 8# } 9--- 10version: 1 11tasks: 12 - $let: 13 # sometimes the push user is just `ffxbld` or the like, but we want an 14 # email-like field.. 15 ownerEmail: 16 $if: '"@" in push.owner' 17 then: '${push.owner}' 18 else: '${push.owner}@noreply.mozilla.org' 19 # ensure there's no trailing `/` on the repo URL 20 repoUrl: 21 $if: 'repository.url[-1] == "/"' 22 then: {$eval: 'repository.url[:-1]'} 23 else: {$eval: 'repository.url'} 24 # scheduler id 25 schedulerId: 'nss-level-${repository.level}' 26 in: 27 taskId: '${ownTaskId}' 28 taskGroupId: '${ownTaskId}' 29 schedulerId: '${schedulerId}' 30 created: {$fromNow: ''} 31 deadline: {$fromNow: '1 day'} 32 expires: {$fromNow: '14 days'} 33 34 metadata: 35 owner: mozilla-taskcluster-maintenance@mozilla.com 36 source: "${repository.url}" 37 name: "NSS Decision Task" 38 description: | 39 The task that creates all of the other tasks in the task graph 40 41 workerType: "linux" 42 provisionerId: "nss-${repository.level}" 43 44 scopes: 45 - 'assume:repo:${repoUrl[8:]}:branch:default' 46 tags: 47 createdForUser: "${ownerEmail}" 48 49 routes: 50 - "tc-treeherder-stage.v2.${repository.project}.${push.revision}.${push.pushlog_id}" 51 - "tc-treeherder.v2.${repository.project}.${push.revision}.${push.pushlog_id}" 52 53 payload: 54 # TODO: use nssdev org , not djmitche, once the image is pushed there 55 image: djmitche/nss-decision:0.0.3 56 57 env: 58 TC_OWNER: "${ownerEmail}" 59 TC_SOURCE: "${repository.url}" 60 TC_PROJECT: ${repository.project} 61 TC_SCHEDULER_ID: "${schedulerId}" 62 MOZ_SCM_LEVEL: "${repository.level}" 63 NSS_PUSHLOG_ID: '${push.pushlog_id}' 64 NSS_HEAD_REPOSITORY: '${repository.url}' 65 NSS_HEAD_REVISION: '${push.revision}' 66 67 maxRunTime: 1800 68 69 command: 70 - bash 71 - -cx 72 - > 73 bin/checkout.sh && 74 nss/automation/taskcluster/scripts/extend_task_graph.sh 75 76 features: 77 taskclusterProxy: true 78 79 extra: 80 treeherder: 81 symbol: D 82 build: 83 platform: nss-decision 84 machine: 85 platform: nss-decision 86