-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
flutter/packages
#3076Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: contributor-productivityTeam-specific productivity, code health, technical debt.Team-specific productivity, code health, technical debt.p: pigeonrelated to pigeon messaging codegen toolrelated to pigeon messaging codegen toolpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.
Description
(This has come up in discussions, but it looks like it was never filed, so capturing here.)
Currently the state of CI testing for Pigeon is:
- When run on macOS hosts, it runs everything exception Windows tests (because originally the script was only run on macOS in CI).
- When run on Windows hosts, it runs only Windows tests.
- We don't run it on Linux, because the script predates being run on Linux in CI, and it tries to run all tests, including macOS and iOS tests, which won't work. (This is also what happens if run locally with no arguments, which is not a great experience.)
We should instead have two different entry points for the overall test script, one for CI (run_tests.dart (and for now (.sh)), and one for individual developers, both driving the same shared test script code:
- The CI entry point should slice the targets among hosts (with no duplication), ideally the same way we do our usual plugins tests:
- Linux hosts should run Dart and Android tests (since Linux machines are generally the cheapest/easiest to run in CI)
- macOS hosts should run iOS and macOS tests (since they can't run anywhere else)
- Windows hosts should run Windows tests (since they can't run anywhere else)
- The developer entry point—which could either be a separate script, or just a simple flag (like
--all) to the CI script (the way the CI works is that it runrun_testswithout arguments, so it can't be the reverse) should run everything it can for the given host:- Linux should run Dart and Android
- macOS should run everything but Windows
- Windows should run everything but iOS/macOS
We should do this after #85068 so that we're not adding even more complexity to the shell script.
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: contributor-productivityTeam-specific productivity, code health, technical debt.Team-specific productivity, code health, technical debt.p: pigeonrelated to pigeon messaging codegen toolrelated to pigeon messaging codegen toolpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.