Open Bug 1841637 Opened 2 years ago Updated 2 months ago

Run taskgraph schema validation in a linting task and rip it out from the decision task

Categories

(Firefox Build System :: Task Configuration, task)

task

Tracking

(Not tracked)

People

(Reporter: marco, Unassigned)

References

(Blocks 2 open bugs, )

Details

jcristau found out schema validation is a big part of decision task runtime. We could move it to a linting task and keep the decision task lean.
This doesn't save any cost, actually it slightly increases them, but allows us to start following tasks much more quickly so it is a win.

I'd say it'd only makes sense to skip validation 1) on try, and 2) if nothing under taskcluster/ changes. If either of those isn't true then we're better off finding issues during decision.

I think there is still benefit to speeding up decision tasks on autoland / central, but agree that try is where most of the pain is felt. So I can see the argument for still validating in-decision for L3 branches..

Another approach could be to always validate in a lint task everywhere, but then additionally validate in the Decision task if files under /taskcluster are modified (regardless of branch). That way we get the speedups on autoland/central as well, and still fail fast when bustage is most likely to happen. Though this is at the cost of sometimes validating twice.

It's worth noting that the lint task could download the taskgraph from the Decision task, so we don't necessarily need to re-generate it a second time. Though re-generating it would be the easiest implementation wise.

It's worth noting that the lint task could download the taskgraph from the Decision task, so we don't necessarily need to re-generate it a second time. Though re-generating it would be the easiest implementation wise.

This is not true. I think I was conflating schema validation with the post generation verifications. The latter can download artifacts from the Decision task, but the former runs at many intermediate steps throughout graph generation, so there's not any way of getting around generating the full graph.

Linking this bug to bug 1652123 which also showed voluptuous was known to be slow. That bug was closed in favor of taskgraph#8

You need to log in before you can comment on or make changes to this bug.