-
-
Notifications
You must be signed in to change notification settings - Fork 208
ci: Add Dart / Flutter version matrix #874
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
ci: Add Dart / Flutter version matrix #874
Conversation
I will reformat the title to use the proper commit message syntax. |
Thanks for opening this pull request!
|
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #874 +/- ##
=======================================
Coverage 26.71% 26.71%
=======================================
Files 47 47
Lines 2905 2905
=======================================
Hits 776 776
Misses 2129 2129 ☔ View full report in Codecov by Sentry. |
I see that we need to update the examples to support null safety. |
I've added the Flutter version matrix now as well. According to our support policy (tbd), we would test with Flutter 3.10 (latest), 3.7, 3.3, 3.0. But only Flutter 3.7 seems to succeed, others failing. Do you know why? And does the Parse Flutter SDK not define a Flutter version compatibility in pubspec? I only see the range for Dart sdk: ">=2.12.0 <3.0.0". |
The Flutter 3.0 test fails with:
That's expected because Flutter 3.0.5 requires Dart 2.17.6, but as we now know the Parse Dart SDK requires at least Dart 2.18.0. Just like expected:
So the Parse Flutter SDK can only support Flutter >=3.3 and we can actually remove the Flutter 3.0 test from the CI. |
Flutter 3.10.0 and Dart 3 require full sound null safety but the examples are not null safe Flutter 3.3
I think its because the named parameter 'exclusive' is not present in this version of Flutter/Dart You can also remove the tests for any dart version <2.18 |
And do you know why Flutter lint fails in this PR? |
Maybe because of the deprecated "format" command try using the |
That worked. Flutter code analysis fails with
So the code analysis seems to depend on the Dart / Flutter version. Should we do the code analysis as part of the matrix tests instead of as a separate test? Then the code analysis would run specifically with each Dart / Flutter version in the matrix. It's just 1 line:
|
Do you mean there is no way to set a Flutter constraint in the pubspec, but it can be done indirectly by setting the Dart constraint?
|
That will not fix the error We need to update the examples to support null safety. |
The version range was just an example, I mean is there no way to set the flutter version range in the pubspec? Can we only set the dart range? |
We can set both in the Flutter package
but on the Dart package we can only set the Dart constraint
|
could remove the tests for any |
This PR is only to add the missing CI tests. We'll remove the tests in the other PR where we change the SDK version range. Just for documentation reason, if someone looks at the PRs in a few months from now so they better understand what's going on. |
I have added the publish dry-run and lint to the matrix, because both of them seem to depend on the dart / flutter version.
Does that make sense? |
I do not see any issue with that. |
Can we merge this? |
We are good to go! |
New Pull Request Checklist
Issue Description
CI is only testing against one (presumably the latest) dart framework version.
Closes: #873
Approach