bugbug/.taskcluster.yml

240 строки
8.1 KiB
YAML
Исходник Обычный вид История

version: 1
policy:
pullRequests: public
tasks:
$let:
decision_task_id: {$eval: as_slugid("decision_task")}
expires_in: {$fromNow: '1 year'}
user: ${event.sender.login}
head_branch:
$if: 'tasks_for == "github-pull-request"'
then: ${event.pull_request.head.ref}
else:
$if: 'tasks_for == "github-push"'
then: ${event.ref}
else: ${event.release.target_commitish}
head_rev:
$if: 'tasks_for == "github-pull-request"'
then: ${event.pull_request.head.sha}
else:
$if: 'tasks_for == "github-push"'
then: ${event.after}
else: ${event.release.tag_name}
repository:
$if: 'tasks_for == "github-pull-request"'
then: ${event.pull_request.head.repo.html_url}
else: ${event.repository.html_url}
in:
$if: 'tasks_for in ["github-pull-request", "github-push"]'
then:
- taskId: {$eval: as_slugid("lint_task")}
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: github-worker
payload:
maxRunTime: 3600
image: python
command:
- "/bin/bash"
- "-lcx"
- "git clone ${repository} &&
cd bugbug &&
git checkout ${head_rev} &&
pip install -r test-requirements.txt &&
flake8"
metadata:
name: bugbug lint
description: bugbug lint
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml
- $if: 'tasks_for == "github-push"'
then:
taskId: {$eval: as_slugid("version_check_task")}
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: github-worker
payload:
maxRunTime: 3600
image: python
command:
- "/bin/bash"
- "-lcx"
- "git clone ${repository} &&
cd bugbug &&
git checkout ${head_rev} &&
python infra/version_check.py"
metadata:
name: bugbug tag version check
description: bugbug tag version check
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml
- taskId: {$eval: as_slugid("tests_task")}
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: github-worker
payload:
maxRunTime: 3600
image: python
command:
- "/bin/bash"
- "-lcx"
- "git clone ${repository} &&
cd bugbug &&
git checkout ${head_rev} &&
pip install -r requirements.txt &&
pip install -r test-requirements.txt &&
python -m pytest tests/test_*.py"
metadata:
name: bugbug tests
description: bugbug tests
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml
- taskId: {$eval: as_slugid("rollback_test_task")}
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: github-worker
payload:
maxRunTime: 3600
image: python
command:
- "/bin/bash"
- "-lcx"
- "git clone ${repository} &&
cd bugbug &&
git checkout ${head_rev} &&
pip install -r requirements.txt &&
python -c 'from bugbug import bugzilla, db; db.download()' &&
python -m bugbug.bug_snapshot"
metadata:
name: bugbug rollback test
description: bugbug rollback test
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml
- taskId: {$eval: as_slugid("packaging_test_task")}
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: github-worker
payload:
maxRunTime: 3600
image: python
command:
- "/bin/bash"
- "-lcx"
- "git clone ${repository} &&
cd bugbug &&
git checkout ${head_rev} &&
pip install -r requirements.txt &&
python setup.py sdist &&
pip install dist/bugbug-$(cat VERSION).tar.gz"
metadata:
name: bugbug packaging test
description: bugbug packaging test
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml
- taskId: {$eval: as_slugid("docker_build")}
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: releng-svc
payload:
capabilities:
privileged: true
maxRunTime: 3600
2019-04-17 14:24:46 +03:00
image: mozilla/taskboot:latest
command:
2019-04-15 18:36:30 +03:00
- "/bin/sh"
- "-lcxe"
- "git clone ${repository} /code &&
cd /code &&
git checkout ${head_rev} &&
python http_service/download_models.py &&
2019-04-18 20:49:12 +03:00
taskboot --target /code build-compose --registry=registry.hub.docker.com --write /images"
artifacts:
2019-04-15 18:36:30 +03:00
public/bugbug:
expires: {$fromNow: '2 weeks'}
2019-04-15 18:36:30 +03:00
path: /images
type: directory
scopes:
- docker-worker:capability:privileged
metadata:
name: bugbug docker build
description: bugbug docker build
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml
- $if: 'tasks_for == "github-push" && head_branch[:10] == "refs/tags/"'
then:
dependencies:
- {$eval: as_slugid("lint_task")}
- {$eval: as_slugid("tests_task")}
- {$eval: as_slugid("rollback_test_task")}
- {$eval: as_slugid("packaging_test_task")}
- {$eval: as_slugid("version_check_task")}
scopes:
- secrets:get:project/relman/bugbug/deploy
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: github-worker
payload:
features:
taskclusterProxy:
true
maxRunTime: 3600
image: python
command:
- "/bin/bash"
- "-lcx"
- "git clone ${repository} &&
cd bugbug &&
git checkout ${head_rev} &&
python setup.py sdist bdist_wheel &&
pip install twine &&
python infra/pypi.py"
metadata:
name: bugbug PyPI release
description: bugbug PyPI release
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml
2019-04-18 20:49:12 +03:00
- $if: 'tasks_for == "github-push" && head_branch[:10] == "refs/tags/"'
then:
dependencies:
- {$eval: as_slugid("docker_build")}
scopes:
- secrets:get:project/relman/bugbug/deploy
taskId: {$eval: as_slugid("docker_push")}
created: {$fromNow: ''}
deadline: {$fromNow: '1 hour'}
provisionerId: aws-provisioner-v1
workerType: github-worker
payload:
features:
taskclusterProxy:
true
maxRunTime: 3600
image: mozilla/taskboot:latest
env:
TASKCLUSTER_SECRET: project/relman/bugbug/deploy
command:
- taskboot
- push-artifact
metadata:
name: bugbug docker push
description: bugbug docker push
owner: ${user}@users.noreply.github.com
source: ${repository}/raw/${head_rev}/.taskcluster.yml