# The version is always required
version: 0
# Top level metadata is always required
metadata:
  name: "DeepSpeech"
  description: "DeepSpeech builds"
  owner: "{{ event.head.user.email }}" # the user who sent the pr/push e-mail will be inserted here
  source: "{{ event.head.repo.url }}"  # the repo where the pr came from will be inserted here
tasks:
  - provisionerId: "proj-deepspeech"
    workerType: "ci-decision-task"
    extra:
      github:
        env: true
        events:
          - pull_request.opened
          - pull_request.synchronize
          - pull_request.reopened
          - push
          - tag
        branches:
          - r0.8

    scopes: [
      "queue:create-task:highest:proj-deepspeech/*",
      "queue:route:index.project.deepspeech.*",
      "index:insert-task:project.deepspeech.*",
      "queue:scheduler-id:taskcluster-github",
      "generic-worker:cache:deepspeech-macos-pyenv",
      "docker-worker:capability:device:kvm"
    ]

    payload:
      maxRunTime: 600
      image: "ubuntu:16.04"

      features:
        taskclusterProxy: true

      env:
        TC_DECISION_SHA: ef67832e6657f43e139a10f37eb326a7d9d96dad

      command:
        - "/bin/bash"
        - "--login"
        - "-cxe"
        - >
          echo "deb http://archive.ubuntu.com/ubuntu/ xenial-updates main" > /etc/apt/sources.list.d/xenial-updates.list &&
          apt-get -qq update && apt-get -qq -y install git python3-pip curl sudo &&
          adduser --system --home /home/build-user build-user &&
          cd /home/build-user/ &&
          echo -e "#!/bin/bash\nset -xe\nenv && id && mkdir ~/DeepSpeech/ && git clone --quiet {{event.head.repo.url}} ~/DeepSpeech/ds/ && cd ~/DeepSpeech/ds && git checkout --quiet {{event.head.sha}}" > /tmp/clone.sh && chmod +x /tmp/clone.sh &&
          sudo -H -u build-user /bin/bash /tmp/clone.sh &&
          sudo -H -u build-user --preserve-env /bin/bash /home/build-user/DeepSpeech/ds/taskcluster/tc-schedule.sh
      artifacts:
        "public":
          type: "directory"
          path: "/tmp/artifacts/"
          expires: "{{ '7 days' | $fromNow }}"
    # Each task also requires explicit metadata
    metadata:
      name: "DeepSpeech Decision Task"
      description: "DeepSpeech Decision Task: triggers everything."
      owner: "{{ event.head.user.email }}"
      source: "{{ event.head.repo.url }}"
