Skip to content

Add Flame engine to the registry#489

Open
spydon wants to merge 5 commits into
flutter:mainfrom
spydon:add-flame-tests
Open

Add Flame engine to the registry#489
spydon wants to merge 5 commits into
flutter:mainfrom
spydon:add-flame-tests

Conversation

@spydon

@spydon spydon commented Jul 3, 2026

Copy link
Copy Markdown

Adds the Flame engine to the customer test registry so that its tests run as a presubmit against flutter/flutter framework changes.

How it works

Flame is a monorepo managed as a pub workspace, so the update step (flutter pub get at the repo root) resolves every member package in one go. The test command runs scripts/customer_testing.dart in the Flame repository, which works identically on every platform (no separate .sh/.bat needed):

  • flutter analyze --no-fatal-infos runs over the whole workspace on every platform.
  • The full per-package flutter test suites (27 packages) run on Linux only, because Flame's golden and rendering tests are platform-sensitive. This mirrors how flutter/packages handles its own registry entry.

Notes for reviewers

  • The pinned revision points at the branch commit of test: Add customer_testing script for the flutter/tests registry flame-engine/flame#3941, which adds scripts/customer_testing.dart. Once that PR merges I'll update the SHA here to the resulting main commit before this lands.
  • Flame's full suite (~300 test files) is larger than a few-seconds suite. Analyze is fast on all platforms; the Linux test run is where the bulk of the time goes. Happy to trim the package set if the total runtime is a concern.
  • An earlier attempt to register Flame lived on the old master branch and predates pub workspaces (it relied on melos bootstrap); this replaces that approach.

Locally verified that root flutter pub get resolves the workspace, the analyze pass is clean over the whole tree, and per-package flutter test works.

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 spydon force-pushed the add-flame-tests branch from f4427ce to 4bcacf5 Compare July 3, 2026 10:27
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.
Comment thread registry/flame.test Outdated
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