Merge verifications logic between Gecko and standalone taskgraph
Categories
(Firefox Build System :: Task Configuration, task)
Tracking
(firefox101 fixed)
Tracking | Status | |
---|---|---|
firefox101 | --- | fixed |
People
(Reporter: ahal, Assigned: ahal)
References
(Blocks 1 open bug)
Details
Attachments
(6 files)
48 bytes,
text/x-phabricator-request
|
Details | 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 | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
There are a few extra features in the Gecko util/verify.py
file. Mostly just extra verifications (which we can choose to upstream on a case by case basis). Some of the duplicated verifications appear to have some bug fixes / other minor changes which don't look like they will be hard to rectify.
The only feature difference is that we pass in the parameters to each verification function in Gecko. This feels reasonable to upstream to me.
Note some verifications are Gecko specific so will need to stay in Gecko, but this is fine.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 2•2 years ago
•
|
||
There's also the doc verifications to consider. I don't think this is a feature that should live in upstream taskgraph since we can't make assumptions about how (or whether) consumer repos are documented. It would take a fair amount of configuration options and supporting it all doesn't feel worth it to me. Plus I don't believe these checks are suited to be in graph generation anyway since they increase generation runtimes.
Instead, I propose we create a taskgraph
linter in Gecko that does these steps. This way we still enforce up-to-date documentation, marginally improve generation performance, and don't need to concoct some complicated way of supporting this in standalone taskgraph. Consumer repos who wish to have doc verification can do something similar.
Edit: Actually this should be a python-test, not a linter (since failures can be triggered outside the file).
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 3•2 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.
Assignee | ||
Comment 4•2 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).
Assignee | ||
Comment 5•2 years ago
|
||
This syncs a feature from Gecko.
Jira: RELENG-781
Assignee | ||
Comment 6•2 years ago
|
||
This syncs a feature from Gecko, and additionally adds a test.
Jira: RELENG-781
Depends on D142235
Pushed by ahalberstadt@mozilla.com: https://hg.mozilla.org/ci/taskgraph/rev/b875b88f21bb feat(verify): pass parameters into verifications , r=releng-reviewers,gabriel
Pushed by ahalberstadt@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/234316412a0e Refactor util/verify.py to support non-task verifications, r=releng-reviewers,aki https://hg.mozilla.org/integration/autoland/rev/a9a0792bb515 Move TaskGraphGenerator.verify_* to a verifications in util/verify.py, r=releng-reviewers,aki
Comment 9•2 years ago
|
||
bugherder |
Comment 10•2 years ago
|
||
Pushed by ahalberstadt@mozilla.com: https://hg.mozilla.org/ci/taskgraph/rev/4783a2ce84ac feat(verify): add additional verification types , r=releng-reviewers,gbrown
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 11•2 years ago
|
||
Forgot to write the patch to use this in central.
Assignee | ||
Comment 12•2 years ago
|
||
Assignee | ||
Comment 13•2 years ago
|
||
Depends on D144622
Comment 14•2 years ago
|
||
Pushed by ahalberstadt@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7345cff9d35e Upgrade taskgraph to version 1.4.0, r=releng-reviewers,jcristau https://hg.mozilla.org/integration/autoland/rev/339a9e0b4903 [gecko_taskgraph] Use 'VerificationSequence' from upstream taskgraph, r=releng-reviewers,jcristau
Comment 15•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7345cff9d35e
https://hg.mozilla.org/mozilla-central/rev/339a9e0b4903
Description
•