Skip to content

ci: bump lower CI matrix to Flutter 3.22.3 / Dart 3.4.4#269

Open
kinyoklion wants to merge 1 commit intomainfrom
rlamb/ci-bump-flutter-3-22-3
Open

ci: bump lower CI matrix to Flutter 3.22.3 / Dart 3.4.4#269
kinyoklion wants to merge 1 commit intomainfrom
rlamb/ci-bump-flutter-3-22-3

Conversation

@kinyoklion
Copy link
Copy Markdown
Member

@kinyoklion kinyoklion commented May 7, 2026

The build-test (3.22.0, 3.4.0) matrix row hits a flaky crash inside the Dart pub tool during flutter pub get:

```
Null check operator used on a null value
package:pub/src/source/hosted.dart 760:33
HostedSource._getAdvisories.readAdvisoriesFromCache
package:pub/src/source/hosted.dart 778:12
HostedSource._getAdvisories
```

The crash depends on the state of the pub advisories cache at the moment of resolution, so it presents as a flake — sometimes the run passes, sometimes it fails before our test code executes. Confirmed not in our code (failure is during dependency resolution).

The bug is tracked at dart-lang/pub#4312 and was fixed in Dart SDK 3.4.4 (June 2024). Flutter 3.22.3 (July 2024) is the first stable Flutter release that bundles Dart 3.4.4.

Bumping the lower row from (3.22.0, 3.4.0) to (3.22.3, 3.4.4) is the minimal change that keeps backward-compat coverage intact while skipping the broken pub binary. The newer row (3.29.3, 3.7.2) was already passing.

Test plan

  • build-test (3.22.3, 3.4.4) and build-test (3.29.3, 3.7.2) both pass.

Note

Low Risk
Low risk workflow-only change that just updates the CI test matrix tool versions. Main impact is slightly shifting the minimum supported Flutter/Dart versions exercised in CI.

Overview
Updates GitHub Actions CI build-test matrix to run the lower-version job on Flutter 3.22.3 / Dart 3.4.4 instead of 3.22.0 / 3.4.0, keeping the newer matrix row unchanged.

Reviewed by Cursor Bugbot for commit 5bf3f79. Bugbot is set up for automated code reviews on this repo. Configure here.

Skips the `Null check operator used on a null value` crash in
`HostedSource._getAdvisories.readAdvisoriesFromCache` that lands
intermittently during `flutter pub get` on Dart 3.4.0-3.4.3. The
crash depends on pub advisory cache state, so it surfaces as a
flake — passing on rerun roughly half the time.

Fixed in Dart SDK 3.4.4 (dart-lang/pub#4312). Flutter 3.22.3 is the
first stable release that bundles 3.4.4.
@kinyoklion kinyoklion requested a review from a team as a code owner May 7, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant