Skip to content

Commit

Permalink
Add Taskcluster config file
Browse files Browse the repository at this point in the history
This first attempt is a v0 config file based off of [mythmon's v0 .taskcluster.yml](https://github.com/mozilla/normandy/blob/26b6537d7b6a0986f30f58bfb4c0d85ad8a6eea1/.taskcluster.yml).

It needs to be updated to v1 per owlish (Taskcluster engineer).
  • Loading branch information
biancadanforth committed Dec 12, 2018
1 parent d3cc3f5 commit 35b0771
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 2 deletions.
50 changes: 50 additions & 0 deletions .taskcluster.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Reference: https://github.com/mozilla/normandy/blob/26b6537d7b6a0986f30f58bfb4c0d85ad8a6eea1/.taskcluster.yml
version: 0

metadata:
name: Firefox Experiments
description: Firefox Experiments CI tasks
owner: '{{ event.head.user.email }}'
source: '{{ event.head.repo.url }}'

tasks:
- metadata:
name: experiments:decision
description: Experiments decision task
owner: '{{ event.head.user.email }}'
source: '{{ event.head.repo.url }}'
# Identifies the Taskcluster provisioner responsible for the compute resources
# (could be 1 CPU, a fraction of a CPU, multiple CPUs...)that will execute the
# task. e.g. 'aws-provisioner-v1' is the AWS Provisioner, which runs its tasks
# on Amazon EC2 instances using Docker.
provisionerId: '{{ taskcluster.docker.provisionerId }}'
# A parameter specific to the AWS Provisioner which identifies the pool of EC2
# resources within which the task should be executed. Pools may use different
# EC2 instance types, AMIs (Amazon Machine Images), etc.
workerType: '{{ taskcluster.docker.workerType }}'
# TODO: add `scopes`? a scope is a permission to perform a particular action. A task has a set of
# scopes that determine what the task can do. These scopes are validated by the worker.
payload: # The format of a task's payload property is specific to the worker that will execute it
# If the task is not completed by its deadline, it will be resolved as
# `exception` with reason "deadline-exceeded"
maxRunTime: 3600 # 60 minutes
image: node # The Docker image to pull
command: # The command to run within that Docker image
- /bin/bash
- '--login' # this is notably absent from mythmon's config
- '-c'
- >- # multi-line command
git clone {{event.head.repo.url}} repo &&
cd repo &&
git config advice.detachedHead false &&
git checkout {{event.head.sha}} &&
npm install . &&
npm test
extra:
github:
events:
- pull_request.opened
- pull_request.synchronize
- push

allowPullRequests: collaborators
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
# Taskcluster Integration Proof-of-Concept

## What it does

TODO

## What it shows
TODO

## Creating Tasks
TODO

TODO
## Cancelling Tasks
TODO

## Finding Tasks
TODO
See https://docs.taskcluster.net/docs/tutorial/finding-tasks

0 comments on commit 35b0771

Please sign in to comment.