Skip to content

test: Add customer_testing script for the flutter/tests registry#3941

Merged
spydon merged 1 commit into
mainfrom
add-flutter-tests-registry
Jul 3, 2026
Merged

test: Add customer_testing script for the flutter/tests registry#3941
spydon merged 1 commit into
mainfrom
add-flutter-tests-registry

Conversation

@spydon

@spydon spydon commented Jul 3, 2026

Copy link
Copy Markdown
Member

Description

Adds scripts/customer_testing.dart so that Flame can be registered in the flutter/tests 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 spydon force-pushed the add-flutter-tests-registry branch from 6d9d0e5 to 8016ac7 Compare July 3, 2026 10:24
@spydon spydon changed the title test: Add customer_testing scripts for the flutter/tests registry test: Add customer_testing script for the flutter/tests registry Jul 3, 2026
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.
@spydon spydon force-pushed the add-flutter-tests-registry branch from 8016ac7 to c706078 Compare July 3, 2026 10:27
@spydon spydon merged commit 2642e0e into main Jul 3, 2026
8 checks passed
@spydon spydon deleted the add-flutter-tests-registry branch July 3, 2026 14:26
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.
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.

2 participants