.taskcluster.yml
author Phil Ringnalda <philringnalda@gmail.com>
Thu, 15 Dec 2016 17:59:34 -0800
changeset 365815 0da2d0158f98743c85d3ed279c3a4db691c2d4f5
parent 364849 2168cbd4b15410c24f6947e9218385dd8a0ab3dd
child 371450 4bd7d95379f640887531f12ecacec9c137c39ac0
permissions -rw-r--r--
Backed out 20 changesets (bug 1320892, bug 1318507, bug 1321450, bug 1305832, bug 1320030, bug 1310247) for build bustage Backed out changeset 51de65f3f839 (bug 1305832) Backed out changeset 88c9d76d46ab (bug 1305832) Backed out changeset 4e602c1e307e (bug 1305832) Backed out changeset 10ea91ee54bd (bug 1305832) Backed out changeset fe0a30186fcc (bug 1305832) Backed out changeset b810c31221c5 (bug 1320030) Backed out changeset ae0f7b513fa3 (bug 1320030) Backed out changeset e6d85e47e7bb (bug 1320030) Backed out changeset 39379507d2d8 (bug 1320030) Backed out changeset ba7fef973cf4 (bug 1321450) Backed out changeset 4b6ee2eadeac (bug 1321450) Backed out changeset 0a3c283c1988 (bug 1321450) Backed out changeset 776295ca0f64 (bug 1320892) Backed out changeset e4bf2c365c82 (bug 1310247) Backed out changeset 4058aa1d9831 (bug 1310247) Backed out changeset df953d508c81 (bug 1310247) Backed out changeset 3f1441255bca (bug 1318507) Backed out changeset b5d390d820b0 (bug 1318507) Backed out changeset 11dc44b79466 (bug 1318507) Backed out changeset b2aaaf37994e (bug 1318507)

---
version: 0
metadata:
  name: 'Taskcluster tasks for Gecko'
  description: "The taskcluster task graph for Gecko trees"
  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

# 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}}decision task{{/as_slugid}}'
    task:
      created: '{{now}}'
      deadline: '{{#from_now}}1 day{{/from_now}}'
      expires: '{{#from_now}}365 day{{/from_now}}'
      metadata:
        owner: mozilla-taskcluster-maintenance@mozilla.com
        source: {{{source}}}
        name: "Gecko Decision Task"
        description: |
            The task that creates all of the other tasks in the task graph

      workerType: "gecko-decision"
      provisionerId: "aws-provisioner-v1"

      tags:
        createdForUser: {{owner}}

      scopes:
        # Bug 1269443: cache scopes, etc. must be listed explicitly
        - "docker-worker:cache:level-{{level}}-*"
        - "docker-worker:cache:tooltool-cache"
        # mozilla-taskcluster will append the appropriate assume:repo:<repo>
        # scope here.

      routes:
        - "index.gecko.v2.{{project}}.latest.firefox.decision"
        - "tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"
        - "tc-treeherder-stage.v2.{{project}}.{{revision}}.{{pushlog_id}}"

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

        cache:
          level-{{level}}-checkouts: /home/worker/checkouts

        features:
          taskclusterProxy: true
          chainOfTrust: true

        # Note: This task is built server side without the context or tooling that
        # exist in tree so we must hard code the version
        image: 'taskcluster/decision:0.1.7'

        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}}'
              --revision-hash='{{revision_hash}}'

        artifacts:
          'public':
            type: 'directory'
            path: '/home/worker/artifacts'
            expires: '{{#from_now}}364 days{{/from_now}}'

      extra:
        treeherder:
          symbol: D