Merge generator.py between the two taskgraphs
Categories
(Firefox Build System :: Task Configuration, task)
Tracking
(Not tracked)
People
(Reporter: ahal, Assigned: ahal)
References
(Blocks 1 open bug)
Details
Attachments
(6 files, 7 obsolete files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
251.98 KB,
patch
|
Details | Diff | Splinter Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
While a dict is a better data structure to hold this information (as we can do
quick containment checks), the standalone version uses a list. If we decided to
switch over to a dict there instead, we'd be introducing a new backwards
incompatible change and need to make a new major version of Taskgraph.
So for now it's best to make 'gecko_taskgraph' follow standalone's convention.
| Assignee | ||
Comment 2•3 years ago
|
||
Currently all verifications loop over tasks in a taskgraph. Though there are
some miscellaneous verifications in generator.py for things like parameters and
attributes. These verifications are currently specific to Gecko and cannot be
ported to other repositories.
This patch refactors the verifications logic to enable adding other arbitrary
verifications that don't use the same parameter values that a normal task
verification does. This will allow us to move the Gecko specific verifications
out of 'generator.py', which will allow us to use the standalone taskgraph
version of it.
Depends on D142022
| Assignee | ||
Comment 3•3 years ago
|
||
Standalone taskgraph doesn't have a 'verify_parameters' function as we can't
assume that parameters are documented in every consumer repo. By moving these
to proper verifications in util/verify.py, each consumer repo in standalone may
optional implement something for them or not (as they see fit).
Depends on D142023
Comment 4•3 years ago
|
||
Comment on attachment 9269330 [details]
Bug 1759030 - Refactor util/verify.py to support non-task verifications, r?#releng-reviewers!
Revision D142023 was moved to bug 1748929. Setting attachment 9269330 [details] to obsolete.
Comment 5•3 years ago
|
||
Comment on attachment 9269331 [details]
Bug 1759030 - Move TaskGraphGenerator.verify_* to a verifications in util/verify.py, r?#releng-reviewers!
Revision D142024 was moved to bug 1748929. Setting attachment 9269331 [details] to obsolete.
Updated•3 years ago
|
| Assignee | ||
Comment 6•3 years ago
|
||
| Assignee | ||
Comment 7•3 years ago
|
||
Depends on D152211
Comment 8•3 years ago
|
||
Comment on attachment 9286112 [details]
Bug 1759030 - Use target_task method registration from standalone taskgraph, r?#taskgraph-reviewers
Revision D152211 was moved to bug 1780273. Setting attachment 9286112 [details] to obsolete.
Comment 9•3 years ago
|
||
Comment on attachment 9286113 [details]
Bug 1759030 - Use 'filter_tasks' from standalone taskgraph, r?#taskgraph-reviewers
Revision D152212 was moved to bug 1780273. Setting attachment 9286113 [details] to obsolete.
| Assignee | ||
Comment 10•3 years ago
|
||
This function is called by generator.py, so we need to replace this before we
can replace that.
| Assignee | ||
Comment 11•3 years ago
|
||
Depends on D156697
Updated•3 years ago
|
Comment 12•3 years ago
|
||
Comment 13•3 years ago
|
||
| bugherder | ||
Comment 14•3 years ago
|
||
Comment 15•3 years ago
|
||
| bugherder | ||
| Assignee | ||
Comment 16•3 years ago
|
||
The always_target attribute is a feature which I believe I previously
mis-implemented. It doesn't belong in generator.py and should instead be
implemented somewhere in target_tasks.py. I chose to wrap the registration
decorator to guarantee backwards compatibility within Gecko. Though we may wish
to move it out to a filter in the future.
I'm making this change now to facilitate merging standalone and Gecko
taskgraphs. The always_target feature will be removed from standalone (as it
isn't being used and should consumers need something like it, they can roll
their own implementations).
With the feature removed from both Gecko and standalone in generator.py, this
file will now be identical across both Taskgraphs and can therefore be removed
from Gecko.
Comment 17•3 years ago
|
||
Comment 18•3 years ago
|
||
| bugherder | ||
Updated•2 years ago
|
Comment 20•2 years ago
|
||
Patch to vendor taskcluster-taskgraph at 3.5.0 as requested by :ahal.
Comment 21•2 years ago
|
||
Patch to vendor taskcluster-taskgraph at 3.5.1 as requested by :ahal.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 22•2 years ago
|
||
| Assignee | ||
Comment 23•2 years ago
|
||
Depends on D161056
Updated•2 years ago
|
Updated•2 years ago
|
| Assignee | ||
Comment 24•2 years ago
|
||
This is the last place that in gecko_taskgraph/generator.py that calls into
gecko_taskgraph code. By removing it, the two generator.py files will be
identical and the gecko_taskgraph copy can be removed.
Depends on D161056
Comment 25•2 years ago
|
||
Comment 26•2 years ago
|
||
| bugherder | ||
Comment 27•2 years ago
•
|
||
Backed out for causing for causing Bug 1799074.
Updated•2 years ago
|
Comment 28•2 years ago
|
||
| Assignee | ||
Comment 29•2 years ago
|
||
The problem was simply because we were validating against taskgraph.config.graph_config_schema instead of gecko_taskgraph.config.graph_config_schema. This got regressed in this patch due to changing:
- from gecko_taskgraph.generator import load_tasks_for_kind
+ from taskgraph.generator import load_tasks_for_kind
in python/mozbuild/mozbuild/toolchains.py.
Previously the gecko_taskgraph import was triggering this line which made everything work. Now, that import was no longer happening. A simple (somewhat hacky) fix is to add an unused import gecko_taskgraph directly prior.
I have ideas around better support for extending Taskgraph so we don't need to do all this hacky monkeypatching in gecko_taskgraph. But that is a larger project which likely won't be prioritized for awhile, so for now I think the simple fix is the way to go.
Comment 30•2 years ago
|
||
Comment 31•2 years ago
|
||
Backout merged to central: https://hg.mozilla.org/mozilla-central/rev/decaca6eacd7
Comment 32•2 years ago
|
||
| bugherder | ||
| Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Description
•