-
Notifications
You must be signed in to change notification settings - Fork 3.6k
[pigeon] Split CI and developer test scripts #3076
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pigeon] Split CI and developer test scripts #3076
Conversation
|
|
|
Looks like the light-workload machine config doesn't have enough memory for the Android builds; trying it with the heavy-workload config. |
tarrinneal
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems solid to me.
|
auto label is removed for flutter/packages, pr: 3076, due to - The status or check suite linux-custom_package_tests CHANNEL:stable has failed. Please fix the issues identified (or deflake) before re-applying this label. |
|
The merge here was incorrect, I'll fix it later. |
This creates a new
test.dartscript for developers to run tests locally, separate from therun_tests.dartentrypoint whose no-argument behavior is constrained by our CI requirements since it's what the repo tooling'scustom-testsruns.Most of the logic is extracted to a new shared file, which is used by
run_tests.dartandtest.dart.run_tests.dartis now solely intended for CI. It distributes the tests among the host platforms so that everything is run, but not all on the same host, and not more than once. It follows the same logic we use for most of our CI in that it runs everything it can on Linux, and only the things that need to be run on Windows and macOS are run there. It also adds validation that we are running every test suite on at least one host unless explicitly opted out, so that we can't accidentally forget to run things in CI (and so that we can easily see in one place what we aren't running in CI).test.dartis for developers to run locally. It still has the arguments for selecting specific tests, but the default behavior is to run every test that can run on that host, so local runs get the maximum possible coverage. This includes integration tests that we aren't currently set up to be able to run in CI. This means developers don't need to remember what is and isn't run locally by default.Linux
custom-testsis moved to the heavy workload machine configuration in the Cirrus configuration since the Android build is OOMing on the light workload configuration.Fixes flutter/flutter#115393
Pre-launch Checklist
dart format.)[shared_preferences]pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.mdto add a description of the change, following repository CHANGELOG style.///).