Closed Bug 1643811 Opened 4 years ago Closed 4 years ago

Add a SCHEDULES rule to avoid running Android on changes exclusively to /browser

Categories

(Firefox Build System :: Task Configuration, enhancement, P2)

enhancement

Tracking

(firefox79 fixed)

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: ahal, Assigned: ahal)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Conversely, changes exclusive to /mobile shouldn't run desktop platforms.

Assignee: nobody → ahal

Do the SCHEDULES changes distinguish between test changes and code changes? Asking because e.g. this push:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=5fd91f0ec82be1e678ed58bfd16265a5b92055c5

is running android tests, though I'm not modifying any android code. But I modified toolkit/components/extensions/test/browser/browser_ext_themes_arrowpanels.js which is a toolkit file - but a browser test, so still will only affect desktop.

The SCHEDULES rules depend on what metadata you apply to specific source files, it's all manual. So you can make a SCHEDULES rule that only applies to toolkit/components/extensions/test/browser/** for instance. Though for this bug I'm just going to make it apply to browser/** (turns out mobile/** already has a rule).

Wrote the patch, just haven't had a chance to test it yet.

This rule states that if a push only modifies files under the /browser directory, then
we'll only schedule tasks that:

A) Use the 'skip-unless-schedules' optimization (this includes most builds and tests)
B) Are tagged with at one of the 'linux', 'macosx' or 'windows' components

This should be everything except Android builds and tests.

Gijs, you can copy my patch if you want to apply this rule to other dirs / files that can only affect desktop. There are probably a ton of places we can get little SCHEDULES wins like this, but it needs developers with the right context to know where these wins are.

I'll also add not to worry too much about making sure the rules are 100% accurate. We'll still run every task on every 10th autoland push. So the worst case scenario is that we optimize a task away, and then the sheriffs find the regression a few pushes later than they would have otherwise. There's no (additional) risk of missed regressions making it to central.

Also makes sure that 'mochitest-devtools-chrome' tasks are triggered by the
'mochitest-browser-chrome' component since they use the same manifest / test
formats.

Depends on D78906

Pushed by ahalberstadt@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ab90ca4bf742
[ci] Add a SCHEDULES rule to prevent 'android' builds and tests on pushes that exclusively modify files under /browser, r=gbrown,Gijs
https://hg.mozilla.org/integration/autoland/rev/50bc520a5d0c
[ci] Add a SCHEDULES rule to exclusively run browser-chrome tests when '**/test/browser_*' files are modified, r=gbrown,Gijs
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
See Also: → 1645398
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: