mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 04:41:11 +00:00
61991f05a4
This updates the docker image used for CI on the github.com webrender repository, so that updates to the WebRender code can continue to be propagated to github. Differential Revision: https://phabricator.services.mozilla.com/D164458
181 lines
7.5 KiB
YAML
181 lines
7.5 KiB
YAML
# This file specifies the configuration needed to test WebRender using the
|
|
# Taskcluster infrastructure. Most of this should be relatively
|
|
# self-explanatory; this file was originally generated by using the
|
|
# Taskcluster-GitHub integration quickstart tool which no longer exists.
|
|
#
|
|
# See https://community-tc.services.mozilla.com/docs
|
|
version: 1
|
|
policy:
|
|
pullRequests: public
|
|
|
|
# This file triggers a set of tasks; the ones targeting Linux are run in a docker
|
|
# container using docker-worker (which is a worker type provided by TaskCluster).
|
|
# The OS X ones are run in a custom worker type, for which we have worker
|
|
# instances configured and running.
|
|
tasks:
|
|
$if: 'tasks_for in ["github-push", "github-pull-request"]'
|
|
then:
|
|
$let:
|
|
should_run:
|
|
$if: 'tasks_for == "github-push"'
|
|
# for pushes, run on any branch but master
|
|
then: {$eval: 'event.ref != "refs/heads/master"'}
|
|
# for PRs, run for opened and synchronized events
|
|
else: {$eval: 'event.action in ["opened", "synchronize"]'}
|
|
repo_url:
|
|
$if: 'tasks_for == "github-push"'
|
|
then: ${event.repository.clone_url}
|
|
else: ${event.pull_request.head.repo.clone_url}
|
|
sha:
|
|
$if: 'tasks_for == "github-push"'
|
|
then: ${event.after}
|
|
else: ${event.pull_request.head.sha}
|
|
login: ${event.sender.login}
|
|
branch:
|
|
$if: 'tasks_for == "github-push"'
|
|
then:
|
|
$if: 'event.ref[:11] == "refs/heads/"'
|
|
then: ${event.ref[11:]}
|
|
else: ${event.ref}
|
|
else: ${event.pull_request.head.ref}
|
|
in:
|
|
$if: should_run
|
|
then:
|
|
# For the docker-worker tasks, the Docker image used
|
|
# (staktrace/webrender-test:debian-v10) was created using the Dockerfile in
|
|
# ci-scripts/docker-image.
|
|
#
|
|
# The docker image may need to be updated over time if the set of required
|
|
# packages increases. Note in particular that rust/cargo are not part of the
|
|
# docker image, and are re-installed using rustup on each CI run. This ensures
|
|
# the latest stable rust compiler is always used.
|
|
# CI runs will be triggered on opening PRs, updating PRs, and pushes to the
|
|
# repository.
|
|
- metadata:
|
|
name: Linux release tests
|
|
description: Runs release-mode WebRender CI stuff on a Linux TC worker
|
|
owner: noreply@mozilla.com
|
|
source: ${repo_url}
|
|
provisionerId: proj-webrender
|
|
workerType: ci-linux
|
|
deadline: {$fromNow: '1 day'}
|
|
payload:
|
|
maxRunTime: 7200
|
|
image: 'staktrace/webrender-test:debian-v10'
|
|
env:
|
|
RUST_BACKTRACE: 'full'
|
|
RUSTFLAGS: '--deny warnings'
|
|
command:
|
|
- /bin/bash
|
|
- '--login'
|
|
- '-c'
|
|
- >-
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y &&
|
|
source $HOME/.cargo/env &&
|
|
git clone ${repo_url} webrender && cd webrender &&
|
|
git checkout ${sha} &&
|
|
servo-tidy &&
|
|
ci-scripts/install-meson.sh &&
|
|
export PATH=$PATH:$PWD/meson &&
|
|
ci-scripts/linux-release-tests.sh
|
|
routes:
|
|
- "index.project.webrender.ci.${login}.${branch}.linux-release"
|
|
- metadata:
|
|
name: Linux debug tests
|
|
description: Runs debug-mode WebRender CI stuff on a Linux TC worker
|
|
owner: noreply@mozilla.com
|
|
source: ${repo_url}
|
|
provisionerId: proj-webrender
|
|
workerType: ci-linux
|
|
deadline: {$fromNow: '1 day'}
|
|
payload:
|
|
maxRunTime: 7200
|
|
image: 'staktrace/webrender-test:debian-v10'
|
|
env:
|
|
RUST_BACKTRACE: 'full'
|
|
RUSTFLAGS: '--deny warnings'
|
|
command:
|
|
- /bin/bash
|
|
- '--login'
|
|
- '-c'
|
|
- >-
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y &&
|
|
source $HOME/.cargo/env &&
|
|
git clone ${repo_url} webrender && cd webrender &&
|
|
git checkout ${sha} &&
|
|
servo-tidy &&
|
|
ci-scripts/install-meson.sh &&
|
|
export PATH=$PATH:$PWD/meson &&
|
|
ci-scripts/linux-debug-tests.sh
|
|
routes:
|
|
- "index.project.webrender.ci.${login}.${branch}.linux-debug"
|
|
# For the OS X jobs we use a pool of machines that we are managing, because
|
|
# Mozilla releng doesn't have any spare OS X machines for us at this time.
|
|
# Talk to :kats or :jrmuizel if you need more details about this. The machines
|
|
# are hooked up to taskcluster using taskcluster-worker; they use a workerpool
|
|
# of proj-webrender/ci-macos. They are set up with all the dependencies needed
|
|
# to build and test webrender, including Rust (currently 1.41.1), servo-tidy,
|
|
# mako, zlib, etc. Note that unlike the docker-worker used for Linux, these
|
|
# machines WILL persist state from one run to the next, so any cleanup needs
|
|
# to be handled explicitly.
|
|
|
|
# macOS tasks currently disabled, see bug 1639217.
|
|
# - metadata:
|
|
# name: OS X release tests
|
|
# description: Runs release-mode WebRender CI stuff on a OS X TC worker
|
|
# owner: noreply@mozilla.com
|
|
# source: ${repo_url}
|
|
# provisionerId: 'proj-webrender'
|
|
# workerType: 'ci-macos'
|
|
# deadline: {$fromNow: '1 day'}
|
|
# payload:
|
|
# maxRunTime: 3600
|
|
# command:
|
|
# - - /bin/bash
|
|
# - '--login'
|
|
# - '-vec'
|
|
# - |
|
|
# git clone ${repo_url} webrender
|
|
# cd webrender
|
|
# git checkout ${sha}
|
|
# source $HOME/servotidy-venv/bin/activate
|
|
# servo-tidy
|
|
# export RUST_BACKTRACE=full
|
|
# export RUSTFLAGS='--deny warnings'
|
|
# export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
|
|
# echo 'exec make -j1 "$@"' > $HOME/make # See #2638
|
|
# chmod +x $HOME/make
|
|
# export MAKE="$HOME/make"
|
|
# ci-scripts/macos-release-tests.sh
|
|
# routes:
|
|
# - "index.project.webrender.ci.${login}.${branch}.osx-release"
|
|
# - metadata:
|
|
# name: OS X debug tests
|
|
# description: Runs debug-mode WebRender CI stuff on a OS X TC worker
|
|
# owner: noreply@mozilla.com
|
|
# source: ${repo_url}
|
|
# provisionerId: 'proj-webrender'
|
|
# workerType: 'ci-macos'
|
|
# deadline: {$fromNow: '1 day'}
|
|
# payload:
|
|
# maxRunTime: 3600
|
|
# command:
|
|
# - - /bin/bash
|
|
# - '--login'
|
|
# - '-vec'
|
|
# - |
|
|
# git clone ${repo_url} webrender
|
|
# cd webrender
|
|
# git checkout ${sha}
|
|
# source $HOME/servotidy-venv/bin/activate
|
|
# servo-tidy
|
|
# export RUST_BACKTRACE=full
|
|
# export RUSTFLAGS='--deny warnings'
|
|
# export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
|
|
# echo 'exec make -j1 "$@"' > $HOME/make # See #2638
|
|
# chmod +x $HOME/make
|
|
# export MAKE="$HOME/make"
|
|
# ci-scripts/macos-debug-tests.sh
|
|
# routes:
|
|
# - "index.project.webrender.ci.${login}.${branch}.osx-debug"
|