Register flutter/plugins analysis phase#66
Conversation
|
I added a |
|
It might be best just to make this a dedicated shard in flutter/flutter rather than using flutter/tests. That would let you just run all the tests, too. I don't think a slow/ registry is a good idea because it'll make people think they can use that too, and then we'll have a bunch of slow tests, and that will quickly get out of control. |
|
I don't believe the problem would be in flutter/flutter where the tests run once, the problem are presubmits (as we run the test 15 times and have a 1 hour limit). Even if I split the plugins test to it's own Cirrus shard it won't fit within 1 hour if we run it 15 times. Do you see any other way forward other than allowing some tests to be executed less times in presubmits? |
|
If you just make a dedicated flutter/flutter shard (unrelated to flutter/tests) then there's no reason to run the tests 15 times. |
|
I see, your point is that if it flakes in post-submit it will be easier to root cause. Right? |
|
We'll still need a way to specify to not run it 15 times in flutter/tests presubmits though |
|
Sorry I'm not conveying what I mean clearly! I'm suggesting that the plugins tests have nothing to do with flutter/tests or customer_testing at all. We'd be creating a dedicated shard in flutter/flutter, that directly checks out the plugins tests and runs them. There'd be no flutter/tests presubmits to worry about because flutter/tests wouldn't be involved in any way. |
|
Makes sense, thanks for the clarification. |
@Hixie As this landed in flutter/flutter#70887, it clones HEAD, which means builds are no longer exactly reproducible, and the release branches will probably break. I think at the minimum the revision should be pinned, customer_testing makes sense as it's an existing framework that we use for declaring external repo dependencies and pinning them. |
|
See flutter/flutter#70887 (comment) for a way to fix that. |
Would we accept a third party plugin tests that ran in a short time to |
|
We would absolutely accept such tests. The simple mechanism is described in https://github.com/flutter/tests/blob/master/README.md and https://github.com/flutter/tests/blob/master/registry/template.test. |
This runs the Dart analysis phase on all packages in flutter/plugins.
Ideally we would like to run all flutter/plugins tests though it is probably too slow as it is right now for flutter/tests. Still just the analysis phase would have protected us from recent regressions (e.g flutter/flutter#69126 (comment), flutter/flutter#69440 (comment)).
A single repetition of this test takes ~10 minutes locally on my laptop, @Hixie this is above the 5 minute rule, but I'd suggest this to be an exception as
flutter/pluginsoften is the first to detect framework regressions.I'm also expecting the presubmits to timeout (as they currently run 15 repetitions of all tests), @Hixie are you ok with reducing this number to 4 ? (alternatively run just the flutter/plugins test 4 times and the rest of the tests 15 times?)