Add Flame engine to the registry#489
Open
spydon wants to merge 5 commits into
Open
Conversation
Runs Flame's tests (https://github.com/flame-engine/flame) as a presubmit against flutter/flutter. Flame is a pub workspace; scripts/customer_testing.dart runs flutter analyze over the whole workspace on every platform and the per-package test suites on Linux only (goldens are platform-sensitive).
spydon
added a commit
to flame-engine/flame
that referenced
this pull request
Jul 3, 2026
## Description Adds `scripts/customer_testing.dart` so that Flame can be registered in the [flutter/tests registry](https://github.com/flutter/tests/tree/main/registry). The registry runs downstream packages' tests as a presubmit against `flutter/flutter` framework changes, so that breaking changes to the framework that would affect Flame are caught early (and Flame's code can be auto-migrated via `dart fix`). A companion PR is open against `flutter/tests`: flutter/tests#489. It adds a `registry/flame.test` entry pinned to the commit of this PR that invokes the script via `dart run scripts/customer_testing.dart`. ## Why a single Dart script The registry guarantees `dart` on the path, and a single Dart file is inherently cross-platform, so there's no need for the separate `.sh`/`.bat` pair the registry template otherwise expects. It also matches the existing `scripts/test_formatter.dart`. ## Behavior - Flame is a pub workspace, so the registry's `update` step (`flutter pub get` at the repo root) resolves every member package. - `flutter analyze --no-fatal-infos` runs over the whole workspace on **every platform**. - The full per-package `flutter test` suites run on **Linux only**, since golden and rendering tests are platform-sensitive. This mirrors how `flutter/packages` handles its own registry entry. Locally verified: root `flutter pub get` resolves the workspace, the script's analyze pass is clean over the whole tree, and per-package `flutter test` works.
spydon
commented
Jul 3, 2026
This was referenced Jul 3, 2026
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.
Adds the Flame engine to the customer test registry so that its tests run as a presubmit against
flutter/flutterframework changes.How it works
Flame is a monorepo managed as a pub workspace, so the
updatestep (flutter pub getat the repo root) resolves every member package in one go. The test command runsscripts/customer_testing.dartin the Flame repository, which works identically on every platform (no separate.sh/.batneeded):flutter analyze --no-fatal-infosruns over the whole workspace on every platform.flutter testsuites (27 packages) run on Linux only, because Flame's golden and rendering tests are platform-sensitive. This mirrors howflutter/packageshandles its own registry entry.Notes for reviewers
scripts/customer_testing.dart. Once that PR merges I'll update the SHA here to the resultingmaincommit before this lands.masterbranch and predates pub workspaces (it relied onmelos bootstrap); this replaces that approach.Locally verified that root
flutter pub getresolves the workspace, the analyze pass is clean over the whole tree, and per-packageflutter testworks.