.taskcluster.yml
author Martin Thomson <martin.thomson@gmail.com>
Wed, 11 May 2016 19:33:53 +1000
changeset 12215 eddc89f0b0330258f653cfcf44ad55d0df5d8244
parent 12214 e14139de8e2884e0aa168e017352e72650bb40a3
child 12235 79869bf0a32fc5121c2e2c594a6fdb14d1910c24
permissions -rw-r--r--
Bug 1271930 - Refactor socket creation and initialization, r=ttaubert

---
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}}

      scopes:
        - "queue:route:tc-treeherder-stage.nss.{{revision_hash}}"
        - "queue:route:tc-treeherder.nss.{{revision_hash}}"
        - "scheduler:extend-task-graph:*"
        # mozilla-taskcluster will append the appropriate assume:repo:<repo>
        # scope here.

      routes:
        - "tc-treeherder-stage.nss.{{revision_hash}}"
        - "tc-treeherder.nss.{{revision_hash}}"

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

        env:
          TC_OWNER: {{owner}}
          TC_SOURCE: {{{source}}}
          TC_REVISION: '{{revision}}'
          TC_REVISION_HASH: '{{revision_hash}}'
          TC_DOCKER_IMAGE: "ttaubert/nss-ci:0.0.16"
          TC_PROVISIONER_ID: "aws-provisioner-v1"
          TC_WORKER_TYPE: "hg-worker"
          NSS_HEAD_REPOSITORY: '{{{url}}}'
          NSS_HEAD_REVISION: '{{revision}}'

        features:
          taskclusterProxy: true

        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