Skip to content

chore(ci): bump Dart SDK pin to 3.13.4 - #140

Open
Johnosezele wants to merge 2 commits into
bitcoindevkit:mainfrom
Johnosezele:chore/ci-dart-3.13.4
Open

Johnosezele wants to merge 2 commits into
bitcoindevkit:mainfrom
Johnosezele:chore/ci-dart-3.13.4

Conversation

@Johnosezele

@Johnosezele Johnosezele commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Pin every setup-dart step in ci.yml and upstream-compat.yml to Dart 3.13.4 (was 3.10.0), and note that pin in CONTRIBUTING.md. As per contributor requirement.
  • Package SDK constraints stay at ^3.10.0
  • Exclude bdk_demo build/**, android/**, and ios/** from the analyzer so flutter pub get / flutter analyze match current Flutter stable.

Test

  • CI jobs run on Dart 3.13.4 (build-and-test, smokes, upstream-compat)
  • just ci passes locally on Dart 3.13.x
  • flutter analyze in bdk_demo does not walk android/ / ios/ / build/

Pin every setup-dart step in CI and upstream-compat to 3.13.4, and note that pin in CONTRIBUTING.md. Package SDK constraints stay at ^3.10.0 and ^3.10.1.

Exclude bdk_demo build, android, and ios from the analyzer so flutter pub get and flutter analyze match current Flutter stable.
@Johnosezele
Johnosezele requested a review from reez September 23, 2026 11:44
@reez

reez commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Two questions:

(1) The description mentions justfile changes (just deps, just format-check, just ci), but they're not in the diff. Did a commit not get pushed?

(2) What was failing that needed the android/** / ios/** / build/** analyzer excludes?

@Johnosezele

Copy link
Copy Markdown
Collaborator Author

(1) The description mentions justfile changes (just deps, just format-check, just ci), but they're not in the diff. Did a commit not get pushed?

so i'm on dart 3.13.4 on my local, so when I run the format cmd's, certain files are reformatted because this new dart version has some updates on how dart format worked https://dart.dev/effective-dart/style#ordering, I think if you bump your local dart version to the latest, then format, you'd see some updates

(2) What was failing that needed the android/** / ios/** / build/** analyzer excludes?

So nothing failing, flutter/flutter#187940 Flutter 3.47's AnalysisOptionsMigration rewrites analysis_options.yaml during flutter pub get and flutter analyze unless these excludes are already present. bdk_demo only has android/, ios/, and build/, so those are the three entries it inserts.... flutter/flutter#187728

@reez

reez commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Thanks, that explains the test reformatting and why you added the analyzer exclusions. My first question was about the Justfile: the PR description says just deps, just format-check, and just ci changed, but justfile isn’t in the diff, and just ci still runs just format, which rewrites files. Could you push those changes if they’re intended, or update the description?

Since Dart 3.10 and 3.13 produce different formatting here, it would also help to say that contributors need Dart 3.13.4 for the format check.

@Johnosezele

Copy link
Copy Markdown
Collaborator Author

I've formated the description appropriately, thanks!
I think its a good rule of thumb to use the latest versions these days because of bug fixes and security vulns that may be in older versions...

@j-kon

j-kon commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

The SDK bump and formatter changes look good.

One thing still feels inconsistent: CONTRIBUTING says "Dart 3.10 or newer", but this PR shows that 3.10 and 3.13 can produce different formatting while CI is pinned to 3.13.4.

Could we recommend Dart 3.13.4 specifically for contributors/formatting, while keeping the package SDK constraint at ^3.10.0?

This branch has not been deployed

No deployments
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.

3 participants