Taskgraph module

Historically, the code that controls how Firefox CI runs has lived outside
of the Firefox repo and has been managed by Release Engineering. Over the
past few years, more and more of that code has moved into the Firefox
repository. And with the transition to Taskcluster to power Firefox CI,
that code has been significantly overhauled.

In 2016, Dustin Mitchell introduced a new in-tree scheduling mechanism
called Taskgraph. That "D"ecision task that runs first when you push
something is Taskgraph.

Taskgraph is an important piece of infrastructure. It determines what and
how Firefox CI runs. That encompasses builds, tests, and even release
machinery. As you can imagine, there are a host of concerns from capacity
planning, security, determinism/reproducibility, scheduling, caching,
optimization, etc. There's a lot of contextual knowledge encapsulated in
Taskgraph and the consequences for making mistakes can be significant.

Taskgraph, like many projects, started small and grew into something much
larger. It's been past the point of needing formal governance for a while
now.

Dustin approached me about making Taskgraph a sub-module of the Build
Config module. While there are some justifications for Taskgraph being its
own top-level module, after discussing it with various people, we think a
sub-module of the Build Config module is the best situation for the time
being.

So, I'm announcing the creation of the Taskgraph sub-module of the Build
Config module.

The owner of this sub-module is Dustin Mitchell. Peers (with areas of
focus) are:

ahal - try, optimization, test configuration
glandium - toolchains, determinism
gps - run-task, determinism, caching
jmaher - test configuration, chunking
Callek - release machinery
aki - content verifiability / chain of trust, scriptworker
bstack - action tasks

I believe that Taskgraph should function as an independent module and not
be subservient to the build system. So while it is a sub-module, the intent
is to not abuse the hierarchical superiority of the Build Config module to
influence decisions in the Taskgraph module. I hope others hold me or a
future module owner accountable should any abuse of power occur.

gps
0
Gregory
1/11/2018 1:16:34 AM
mozilla.governance 762 articles. 0 followers. Post Follow

0 Replies
70 Views

Similar Articles

[PageSpeed] 3

Reply: