Support for extending OptimizationSchema in comm-central
Categories
(Thunderbird :: Build Config, task)
Tracking
(thunderbird_esr78 unaffected)
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
Assignee | ||
Comment 1•4 years ago
|
||
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.
Assignee | ||
Comment 2•4 years ago
|
||
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.
Updated•4 years ago
|
Updated•4 years ago
|
Pushed by thunderbird@calypsoblue.org: https://hg.mozilla.org/integration/autoland/rev/9565a2e21ca0 Support extending OptimizationSchema in taskgraph projects. r=taskgraph-reviewers,ahal
Comment 4•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
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 6•4 years ago
|
||
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.
Description
•