summaryrefslogtreecommitdiff
path: root/.taskcluster.yml
blob: 8149810763cb778515003e30dfd0019d56e37e29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
version: 0
metadata:
  name: "NSS Continuous Integration"
  description: "The Taskcluster task graph for the NSS tree"
  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:*

# Available mustache parameters (see the mozilla-taskcluster source):
#
# - 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:       (short) hg revision of the head of the push
# - revision_hash:  (long) 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

tasks:
  - taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
    reruns: 3
    task:
      created: '{{now}}'
      deadline: '{{#from_now}}1 day{{/from_now}}'
      expires: '{{#from_now}}14 days{{/from_now}}'

      metadata:
        owner: mozilla-taskcluster-maintenance@mozilla.com
        source: {{{source}}}
        name: "NSS Decision Task"
        description: |
            The task that creates all of the other tasks in the task graph

      workerType: "hg-worker"
      provisionerId: "aws-provisioner-v1"

      tags:
        createdForUser: {{owner}}

      routes:
        - "tc-treeherder-stage.v2.nss.{{head_rev}}.{{pushlog_id}}"
        - "tc-treeherder.v2.nss.{{head_rev}}.{{pushlog_id}}"

      payload:
        image: "ttaubert/nss-ci:0.0.16"

        env:
          TC_OWNER: {{owner}}
          TC_SOURCE: {{{source}}}
          TC_HEAD_REV: '{{head_rev}}'
          TC_PUSHLOG_ID: '{{pushlog_id}}'
          NSS_HEAD_REPOSITORY: '{{{url}}}'
          NSS_HEAD_REVISION: '{{revision}}'

        maxRunTime: 1800

        command:
          - bash
          - -cx
          - >
            bin/checkout.sh &&
            nss/automation/taskcluster/scripts/extend_task_graph.sh

        artifacts:
          public:
            type: "directory"
            path: "/home/worker/artifacts"
            expires: "{{#from_now}}7 days{{/from_now}}"

        graphs:
          - /home/worker/artifacts/graph.json

      extra:
        treeherder:
          symbol: D
          revision: '{{revision}}'
          revision_hash: '{{revision_hash}}'
          build:
            platform: nss-decision
          machine:
            platform: nss-decision