Skip to content

TaskCluster

E. Dunham edited this page Jan 4, 2018 · 1 revision

TaskCluster is Mozilla's replacement for BuildBot.

TaskCluster is coming to Servo in roughly 3 stages:

  1. Run TaskCluster tests simultaneously with BuildBot; ignore their results in deciding whether to land code. Continue until infra maintainers are confident that we have TaskCluster set up in a way that returns accurate results about each PR and has no worse visibility into infra status than BuildBot did.
  2. Gate on both TaskCluster and BuildBot results (hopefully not for long, but will be easy to reverse if gating on TC causes unforeseen problems). Continue until we observe that going from non-gating to gating on TaskCluster has not introduced breakage.
  3. Cease gating on BuildBot infrastructure.

You can read the TaskCluster docs at https://docs.taskcluster.net/ if you want to learn more about it as a project.

If you run into issues which appear to stem from the TaskCluster software and services rather than Servo's configs for them, you can seek help in #taskcluster on irc.mozilla.org. They are friendly people and like feedback on how to improve their docs, as well.

Changing what tests run

TaskCluster decides what to do based on https://github.com/servo/servo/blob/master/.taskcluster.yml . In our case, this means it runs the list of tests hardcoded in https://github.com/servo/servo/blob/master/etc/ci/taskcluster-test.sh.

Changing the container the tests run in

Our .taskcluster.yml specifies what container the tests run in. That's currently only https://hub.docker.com/r/servobrowser/servo-linux-dev/. To edit the container image, you presently need the Dockerfile in flight from https://github.com/servo/servo/pull/19694 plus the Docker Hub credentials from the infra secrets. Future work includes CI to automatically upload new images to docker hub upon changes to the Dockerfile.

Clone this wiki locally