Closed Bug 1661493 Opened 4 years ago Closed 4 years ago

Support for extending OptimizationSchema in comm-central

Categories

(Thunderbird :: Build Config, task)

Tracking

(thunderbird_esr78 unaffected)

RESOLVED FIXED
82 Branch
Tracking Status
thunderbird_esr78 --- unaffected

People

(Reporter: rjl, Assigned: rjl)

Details

Attachments

(1 file, 2 obsolete files)

Trying to be a little more efficient with some of the jobs that get run on push. The best way to do this is with optimization strategies tailored to Thunderbird's needs. In order to do that OptimizationSchema from taskgraph.utils.schema needs to be extendable with whatever new strategies are developed.

  • No suite strategy (do not run builds on suite-only code pushes) - this is done now with files changed, but it doesn't always work the way we'd like
  • composite strategy combining existing backstop strategies with the above for the windows-plain and ASan builds that do not need to run every push

In order for Thunderbird to effectively cut down on excess builds, there needs
to be a way to define taskgraph optimization strategies beyond what is made
available in the mozilla repository.
taskgraph.optimize.register_strategy gets half of the job done. The other piece
is task schema validation which checks optimizations against OptimizationSchema.
voluptuous.Any can be updated post-creation by replacing the validators tuple
within, as long as the validator is not yet compiled by including it in
a Schema.

Presented for an idea of how to create strategies in comm-central code.
It's important that when comm_taskgraph.register runs that it imports 'optimize'
first so that no transforms are loaded.

Assignee: nobody → rob
Status: NEW → ASSIGNED
Attachment #9172417 - Attachment description: Bug 1661493 - Support extending OptimizationSchema in taskgraph projects. → Bug 1661493 - Support extending OptimizationSchema in taskgraph projects. r=#taskgraph-reviewers
Pushed by thunderbird@calypsoblue.org:
https://hg.mozilla.org/integration/autoland/rev/9565a2e21ca0
Support extending OptimizationSchema in taskgraph projects. r=taskgraph-reviewers,ahal
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch
Attachment #9172418 - Attachment is obsolete: true

Taskcluster does not build on suite-only pushes. Using the 'when.files-changed'
method is prone to missing things due to new directories being added and is
not easy to combine with other strategies such as a backstop.
The skip-suite-only optimization is effectively the same as what is done with
when.files-changed. The changed files in a push are pulled from hg.mo and then
any files matching the suite/editor exclude patterns are removed from the list.
If the changed files list is empty after that process, then no build is done.

Comment on attachment 9186243 [details]
Bug 1661493 - Use 'skip-suite-only' build/test job optimization strategy. r?justdave

Revision D96186 was moved to bug 1676246. Setting attachment 9186243 [details] to obsolete.

Attachment #9186243 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: