Closed Bug 1748929 Opened 2 years ago Closed 2 years ago

Merge verifications logic between Gecko and standalone taskgraph

Categories

(Firefox Build System :: Task Configuration, task)

task

Tracking

(firefox101 fixed)

RESOLVED FIXED
101 Branch
Tracking Status
firefox101 --- fixed

People

(Reporter: ahal, Assigned: ahal)

References

(Blocks 1 open bug)

Details

Attachments

(6 files)

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: nobody → ahal
Status: NEW → ASSIGNED

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).

Keywords: leave-open

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.

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).

This syncs a feature from Gecko.

Jira: RELENG-781

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
See Also: → 1762712
Pushed by ahalberstadt@mozilla.com:
https://hg.mozilla.org/ci/taskgraph/rev/4783a2ce84ac
feat(verify): add additional verification types , r=releng-reviewers,gbrown
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED

Forgot to write the patch to use this in central.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
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
Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 101 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: