test: Add customer_testing script for the flutter/tests registry#3941
Merged
Conversation
6d9d0e5 to
8016ac7
Compare
Adds scripts/customer_testing.dart, invoked by an entry in the flutter/tests registry (registry/flame.test) so that Flame's tests run as a presubmit against flutter/flutter framework changes, catching breaking changes early. flutter analyze runs on every platform over the whole pub workspace, and the full per-package test suites run on Linux only, since golden and rendering tests are platform-sensitive.
8016ac7 to
c706078
Compare
erickzanardo
approved these changes
Jul 3, 2026
3 tasks
spydon
added a commit
that referenced
this pull request
Jul 3, 2026
…3942) ## Description Follow-up to #3941. `flame_3d` builds on the experimental `flutter_gpu` library, whose API changes frequently in flutter/flutter's presubmit. Because the customer_testing script runs `flutter analyze` over the whole workspace, those upstream changes break the analyze step and would block flutter/flutter framework PRs on an unstable dependency that is not representative of Flame. This excludes `flame_3d` from the customer_testing run (both analyze and tests) while every other package is still analyzed and tested. Analyze now targets `doc` plus each package directory except `flame_3d`, preserving the previous coverage. `flame_3d` still compiles and tests cleanly against the stable Flutter that Flame targets; it simply cannot track the experimental engine API on flutter/flutter master. ## Checklist - [x] I have followed the [Contributor Guide](https://github.com/flame-engine/flame/blob/main/CONTRIBUTING.md) when preparing my PR. - [x] I have run `melos format` and `melos analyze` (or an equivalent) and it passes. - [x] I have updated/added tests for ALL new/updated/fixed functionality.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds
scripts/customer_testing.dartso that Flame can be registered in the flutter/tests registry.The registry runs downstream packages' tests as a presubmit against
flutter/flutterframework changes, so that breaking changes to the framework that would affect Flame are caught early (and Flame's code can be auto-migrated viadart fix).A companion PR is open against
flutter/tests: flutter/tests#489. It adds aregistry/flame.testentry pinned to the commit of this PR that invokes the script viadart run scripts/customer_testing.dart.Why a single Dart script
The registry guarantees
darton the path, and a single Dart file is inherently cross-platform, so there's no need for the separate.sh/.batpair the registry template otherwise expects. It also matches the existingscripts/test_formatter.dart.Behavior
updatestep (flutter pub getat the repo root) resolves every member package.flutter analyze --no-fatal-infosruns over the whole workspace on every platform.flutter testsuites run on Linux only, since golden and rendering tests are platform-sensitive. This mirrors howflutter/packageshandles its own registry entry.Locally verified: root
flutter pub getresolves the workspace, the script's analyze pass is clean over the whole tree, and per-packageflutter testworks.