Only crate tasks for pushes to a given branch

This commit is contained in:
Simon Sapin 2018-09-13 17:29:55 +02:00
parent 538107928d
commit aa230e8ef1
2 changed files with 41 additions and 38 deletions

View file

@ -5,43 +5,45 @@ policy:
tasks: tasks:
- $if: 'tasks_for == "github-push"' - $if: 'tasks_for == "github-push"'
then: then:
taskGroupId: {$eval: as_slugid("decision_task")} $if: 'event.ref == "refs/heads/master"'
taskId: {$eval: as_slugid("decision_task")} then:
provisionerId: aws-provisioner-v1 taskGroupId: {$eval: as_slugid("decision_task")}
workerType: servo-docker-worker taskId: {$eval: as_slugid("decision_task")}
created: {$fromNow: ''} provisionerId: aws-provisioner-v1
deadline: {$fromNow: '1 day'} workerType: servo-docker-worker
metadata: created: {$fromNow: ''}
name: "Taskcluster experiments for Servo: decision task" deadline: {$fromNow: '1 day'}
description: "" metadata:
owner: ${event.pusher.name}@users.noreply.github.com name: "Taskcluster experiments for Servo: decision task"
source: ${event.compare} description: ""
scopes: owner: ${event.pusher.name}@users.noreply.github.com
- "queue:scheduler-id:taskcluster-github" source: ${event.compare}
scopes:
- "queue:scheduler-id:taskcluster-github"
# Granted to role "repo:github.com/servo/servo-taskcluster-experiments:branch:master" # Granted to role "repo:github.com/servo/servo-taskcluster-experiments:branch:master"
- "queue:create-task:highest:aws-provisioner-v1/servo-*" - "queue:create-task:highest:aws-provisioner-v1/servo-*"
- "docker-worker:cache:cargo-registry-cache" - "docker-worker:cache:cargo-registry-cache"
- "docker-worker:cache:cargo-git-cache" - "docker-worker:cache:cargo-git-cache"
- "queue:route:index.project.servo.servo-taskcluster-experiments.*" - "queue:route:index.project.servo.servo-taskcluster-experiments.*"
payload: payload:
maxRunTime: {$eval: '20 * 60'} maxRunTime: {$eval: '20 * 60'}
# https://github.com/servo/taskcluster-bootstrap-docker-images#decision-task # https://github.com/servo/taskcluster-bootstrap-docker-images#decision-task
image: "servobrowser/taskcluster-bootstrap:decision-task@sha256:28045b7ec0485ef363f8cb14f194008b47e9ede99f2ea40a1e945e921fce976e" image: "servobrowser/taskcluster-bootstrap:decision-task@sha256:28045b7ec0485ef363f8cb14f194008b47e9ede99f2ea40a1e945e921fce976e"
features: features:
taskclusterProxy: true taskclusterProxy: true
env: env:
GITHUB_EVENT_OWNER: ${event.pusher.name}@users.noreply.github.com GITHUB_EVENT_OWNER: ${event.pusher.name}@users.noreply.github.com
GITHUB_EVENT_SOURCE: ${event.compare} GITHUB_EVENT_SOURCE: ${event.compare}
GITHUB_EVENT_CLONE_URL: ${event.repository.clone_url} GITHUB_EVENT_CLONE_URL: ${event.repository.clone_url}
GITHUB_EVENT_COMMIT_SHA: ${event.after} GITHUB_EVENT_COMMIT_SHA: ${event.after}
command: command:
- /bin/bash - /bin/bash
- '--login' - '--login'
- '-c' - '-c'
- >- - >-
git clone $GITHUB_EVENT_CLONE_URL repo && git clone $GITHUB_EVENT_CLONE_URL repo &&
cd repo && cd repo &&
git checkout $GITHUB_EVENT_COMMIT_SHA && git checkout $GITHUB_EVENT_COMMIT_SHA &&
python3 decision-task.py python3 decision-task.py

View file

@ -30,6 +30,7 @@ class DecisionTask:
# https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/features#feature-taskclusterproxy # https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/features#feature-taskclusterproxy
self.queue_service = taskcluster.Queue(options={"baseUrl": "http://taskcluster/queue/v1/"}) self.queue_service = taskcluster.Queue(options={"baseUrl": "http://taskcluster/queue/v1/"})
self.index_service = taskcluster.Index(options={"baseUrl": "http://taskcluster/index/v1/"}) self.index_service = taskcluster.Index(options={"baseUrl": "http://taskcluster/index/v1/"})
self.now = datetime.datetime.utcnow() self.now = datetime.datetime.utcnow()
def from_now_json(self, offset): def from_now_json(self, offset):