Closed Bug 1277653 Opened 8 years ago Closed 8 years ago

Add support for filtering whether tests should be run based upon which directories were changed in a build

Categories

(Testing Graveyard :: Autophone, defect, P2)

Version 3
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dminor, Assigned: dminor)

References

Details

Attachments

(2 files)

For the WebRTC tests, we'd like to skip running the test suite unless something under e.g. /media/webrtc or /dom/media changes. It would be great to add this as a general purpose capability which allows a test suite run to be gated on whether or not changes are made to a specified list of directories.
My first though is on_build is the right place to start looking: https://github.com/mozilla/autophone/blob/master/autophone.py#L910 It would be good to be able to configure these so that we could use directory filtering where it is required, e.g. inbound, and perhaps not use directory filtering where it isn't required, e.g. central. I think the configs in configs/ will give us the configuration entry point.
Assignee: nobody → dminor
Priority: -- → P2
Blocks: 1263621
Depends on: 1286353
No longer depends on: 1286353
Status: NEW → ASSIGNED
This is bitrotted by the patches in Bug 1275344 Autophone - download builds from the TaskCluster index but we can discuss it while we wait for that to land.
Attached file Github PR (deleted) —
I've updated this according to your comments with the exception of doing set intersection, as I mentioned on Github.
Attachment #8781159 - Flags: review?(bob)
Attached patch dminor-logging.patch (deleted) — Splinter Review
Please add some logging similar to the attached patch. Also, I think we want to use the per directory filtering on triggered jobs as well. In autophone.py trigger_jobs, you can do the check for PhoneTest.has_run_if_changed and load the changesets and pass them to the PhoneTest.match in a similar fashion to how you did in on_build.
I've updated the pullrequest accordingly.
PS. Do you want to go ahead and add the # Only run if revision affects the following directories. run_if_changed = media, dom/media to Cwrtc's config ?
(In reply to Bob Clary [:bc:] from comment #7) > PS. Do you want to go ahead and add the > > # Only run if revision affects the following directories. > run_if_changed = media, dom/media > > to Cwrtc's config ? Done :)
Comment on attachment 8781159 [details] Github PR Looks good. Please squash and push. I'll deploy soonest. I may have made a mistake with regard to where we get the changesets since we now will get them for unsupported abis, but we can deal with that later if we really care.
Attachment #8781159 - Flags: review?(bob) → review+
deployed 2016-08-17 11:09 PDT
Just a heads up: I've temporarily reverted https://github.com/mozilla/autophone/commit/46936d2874aff255323cac899f1eb6e7cd79404a locally on each of the autophone production hosts. I've seen some problems with lock contention and was meaning to file a followup bug but am having critical issues with autophone's consumption of pulse messages at the moment and am trying to resolve it. No need to revert this on master however.
on autophone-1 we have updated the code to the latest revisions which has this patch deployed + tweaks for pulse, this is tracked in bug 1296679
Depends on: 1296679
dminor: Is there anything else we need to do on this or can we mark it fixed?
Flags: needinfo?(dminor)
I think we're ok to close this. I think the next step would be to try scheduling the webrtc crashtest job with filtering enabled and verify it works as expected.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: needinfo?(dminor)
Resolution: --- → FIXED
Product: Testing → Testing Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: