# This file is rendered via JSON-e in a hook with context:
#   {
#     tasks_for: 'hg-push',
#     push: {owner, pushlog_id, pushdate},
#     repository: {url, project, level},
#     now,
#     ownTaskId: // taskId of the task that will be created
#   }
---
version: 1
tasks:
  - $let:
      # sometimes the push user is just `ffxbld` or the like, but we want an
      # email-like field..
      ownerEmail:
        $if: '"@" in push.owner'
        then: '${push.owner}'
        else: '${push.owner}@noreply.mozilla.org'
      # ensure there's no trailing `/` on the repo URL
      repoUrl:
        $if: 'repository.url[-1] == "/"'
        then: {$eval: 'repository.url[:-1]'}
        else: {$eval: 'repository.url'}
      # scheduler id
      schedulerId: 'nss-level-${repository.level}'
    in:
      taskId: '${ownTaskId}'
      taskGroupId: '${ownTaskId}'
      schedulerId: '${schedulerId}'
      created: {$fromNow: ''}
      deadline: {$fromNow: '1 day'}
      expires: {$fromNow: '14 days'}

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

      workerType: "linux"
      provisionerId: "nss-${repository.level}"

      scopes:
        - 'assume:repo:${repoUrl[8:]}:branch:default'
      tags:
        createdForUser: "${ownerEmail}"

      routes:
        - "tc-treeherder-stage.v2.${repository.project}.${push.revision}.${push.pushlog_id}"
        - "tc-treeherder.v2.${repository.project}.${push.revision}.${push.pushlog_id}"

      payload:
        # TODO: use nssdev org , not djmitche, once the image is pushed there
        image: djmitche/nss-decision:0.0.3

        env:
          TC_OWNER: "${ownerEmail}"
          TC_SOURCE: "${repository.url}"
          TC_PROJECT: ${repository.project}
          TC_SCHEDULER_ID: "${schedulerId}"
          MOZ_SCM_LEVEL: "${repository.level}"
          NSS_PUSHLOG_ID: '${push.pushlog_id}'
          NSS_HEAD_REPOSITORY: '${repository.url}'
          NSS_HEAD_REVISION: '${push.revision}'

        maxRunTime: 1800

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

        features:
          taskclusterProxy: true

      extra:
        treeherder:
          symbol: D
          build:
            platform: nss-decision
          machine:
            platform: nss-decision
