Bug 1288373 - Add missing task.h for NewRunnableFunction r=tzimmermann
[gecko.git] / .taskcluster.yml
blob2dd4e5c2ce9198648e9d2a3483e26ce50e512ca5
1 ---
2 version: 0
3 metadata:
4   name: 'Taskcluster tasks for Gecko'
5   description: "The taskcluster task graph for Gecko trees"
6   owner: mozilla-taskcluster-maintenance@mozilla.com
7   source: {{{source}}}
9 scopes:
10   # Note the below scopes are insecure however these get overriden on the server
11   # side to whatever scopes are set by mozilla-taskcluster.
12   - queue:*
13   - docker-worker:*
14   - scheduler:*
16 # Available mustache parameters (see the mozilla-taskcluster source):
18 # - owner:          push user (email address)
19 # - source:         URL of this YAML file
20 # - url:            repository URL
21 # - project:        alias for the destination repository (basename of
22 #                   the repo url)
23 # - level:          SCM level of the destination repository
24 #                   (1 = try, 3 = core)
25 # - revision:       (short) hg revision of the head of the push
26 # - revision_hash:  (long) hg revision of the head of the push
27 # - comment:        comment of the push
28 # - pushlog_id:     id in the pushlog table of the repository
30 # and functions:
31 # - as_slugid:      convert a label into a slugId
32 # - from_now:       generate a timestamp at a fixed offset from now
34 tasks:
35   - taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
36     task:
37       created: '{{now}}'
38       deadline: '{{#from_now}}1 day{{/from_now}}'
39       expires: '{{#from_now}}14 day{{/from_now}}'
40       metadata:
41         owner: mozilla-taskcluster-maintenance@mozilla.com
42         source: {{{source}}}
43         name: "Gecko Decision Task"
44         description: |
45             The task that creates all of the other tasks in the task graph
47       workerType: "gecko-decision"
48       provisionerId: "aws-provisioner-v1"
50       tags:
51         createdForUser: {{owner}}
53       scopes:
54         # Bug 1269443: cache scopes, etc. must be listed explicitly
55         - "docker-worker:cache:level-{{level}}-*"
56         - "docker-worker:cache:tooltool-cache"
57         # mozilla-taskcluster will append the appropriate assume:repo:<repo>
58         # scope here.
60       routes:
61         - "index.gecko.v2.{{project}}.latest.firefox.decision"
62         - "tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"
63         - "tc-treeherder-stage.v2.{{project}}.{{revision}}.{{pushlog_id}}"
65       payload:
66         env:
67           # checkout-gecko uses these to check out the source; the inputs
68           # to `mach taskgraph decision` are all on the command line.
69           GECKO_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-central'
70           GECKO_HEAD_REPOSITORY: '{{{url}}}'
71           GECKO_HEAD_REF: '{{revision}}'
72           GECKO_HEAD_REV: '{{revision}}'
74         cache:
75           level-{{level}}-{{project}}-tc-vcs-public-sources: /home/worker/.tc-vcs/
76           level-{{level}}-{{project}}-gecko-decision: /home/worker/workspace
78         features:
79           taskclusterProxy: true
81         # Note: This task is built server side without the context or tooling that
82         # exist in tree so we must hard code the version
83         image: 'taskcluster/decision:0.1.0'
85         maxRunTime: 1800
87         command:
88           - /bin/bash
89           - -cx
90           - >
91             mkdir -p /home/worker/artifacts &&
92             checkout-gecko workspace &&
93             cd workspace/gecko &&
94             ln -s /home/worker/artifacts artifacts &&
95             ./mach taskgraph decision
96             --pushlog-id='{{pushlog_id}}'
97             --project='{{project}}'
98             --message='{{comment}}'
99             --owner='{{owner}}'
100             --level='{{level}}'
101             --base-repository='https://hg.mozilla.org/mozilla-central'
102             --head-repository='{{{url}}}'
103             --head-ref='{{revision}}'
104             --head-rev='{{revision}}'
105             --revision-hash='{{revision_hash}}'
107         artifacts:
108           'public':
109             type: 'directory'
110             path: '/home/worker/artifacts'
111             expires: '{{#from_now}}7 days{{/from_now}}'
113       extra:
114         treeherder:
115           symbol: D