ci: commit the analyzer excludes the Flutter migrator rewrites on every pub get - #178
Conversation
…ry pub get CI's first step after checkout is `flutter pub get`, which runs the Flutter tool's `analysis_options.yaml` migrator and appends an `analyzer.exclude` block for `build/` plus the six platform runner directories. Seven steps later `dart pub publish --dry-run` found the checkout dirty, reported "1 checked-in file is modified in git", and exited 65 on the warning. That turned `Lint & Test` red on every open PR, including a Dependabot bump touching nothing but a workflow file, so the check failed identically whether or not the PR had broken something. Committing the block the migrator wants makes the migrator a no-op and the checkout clean. Reverting the file inside the workflow instead would leave every contributor's tree dirty after a `pub get` and hide the drift rather than settle it.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe pull request adds analyzer exclusions for generated build output and platform runner directories in the root and example configurations. It also adds an Unreleased changelog entry describing the CI maintenance update. ChangesAnalyzer exclusion configuration
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to The PR commits the analyzer exclusions needed to keep both configuration files unchanged during dependency installation, preventing false CI failures. No actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Minor release, not a patch. The Return-key default on a single-line `WInput` moved from `TextInputAction.next` to `.done` (#177), which changes behaviour in every consumer that never passed `textInputAction`. Consumers are pinned with `^1.3.0`, so a patch would have landed that on everyone at the next `pub upgrade` with the version number saying nothing had changed. A minor still reaches them automatically, so the two layout fixes are not withheld, but the number now says to read the notes. Ships with those two fixes: a `justify-between` row no longer splits its width between a child that asked to grow and siblings that did not (#175), and `WKeyboardActions` hosts its toolbar in the root overlay so it lands on the keyboard rather than hundreds of points below the viewport (#176). Plus the CI fix that had every open PR red on a dirty checkout (#178) and the codeql-action bump (#174). Bump pubspec.yaml 1.3.0 -> 1.4.0 and promote ## [Unreleased] to ## [1.4.0] - 2026-08-21 in CHANGELOG.md, with the [1.4.0] link reference and the [Unreleased] compare link redirected to 1.4.0...HEAD. Sync example/pubspec.yaml, the dartdoc_options.yaml source-link tag, and the llms.txt version string. Move the wind-ui skill to the 1.4 line: the nine reference H1s plus the SKILL.md description and version marker.
What
Both
analysis_options.yamlfiles now carry theanalyzer.excludeblock that the Flutter tool's migrator writes, so the migrator is a no-op and a CI checkout stays clean.Why
Lint & Testwas red on all four open PRs (#174, #175, #176, #177), and not one of them had broken anything.The Flutter tool ships an
analysis_options.yamlmigrator that appends ananalyzer.excludeblock forbuild/and the six platform runner directories. It runs on everyflutter pub get, which is CI's first step after checkout:Seven steps later
dart pub publish --dry-runinspected the tree it had been handed:Every gate before it was green. The failure was the toolchain editing the repo mid-run, which is the worst shape a red check can take: it failed identically on a workflow-only Dependabot bump and on a real regression, so the signal stopped carrying information.
The alternative, reverting the file inside the workflow before the dry-run, was rejected. It would leave every contributor's tree dirty after a
pub getand hide the drift instead of settling it. The excludes are also correct on their own terms, since none of those directories hold hand-written Dart.The hand-written comment above the block survives a
pub get: the migrator reads the parsed YAML, finds the excludes already present, and skips the file.Testing
flutter pub gettwice on a clean tree: noUpgrading analysis_options.yamlline,git statusclean, comments intact.dart pub publish --dry-run:Package has 0 warnings and 1 hint, exit 0. The remaining hint is the gitignored localpubspec_overrides.yaml, which does not exist in CI.python3 tool/check-docs.py: 0 issues.Merge order
This one first. The other three PRs need a fresh CI run on top of it, which their own next push provides.
Summary by CodeRabbit
Chores
Documentation