@@ -168,24 +168,62 @@ jobs:
168168 strategy :
169169 fail-fast : false # let all matrix legs complete so we see the full picture
170170 matrix :
171- os : [ubuntu-22.04, macos-latest, windows-latest]
172- flutter-channel : [stable, beta]
171+ include :
172+ # Stable: all 3 OS
173+ - os : ubuntu-22.04 flutter-channel: stable
174+ - os : macos-latest flutter-channel: stable
175+ - os : windows-latest flutter-channel: stable
176+ # Beta: ubuntu only — avoids pinned-version conflict on other runners
177+ - os : ubuntu-22.04 flutter-channel: beta
173178
174179 steps :
175180 - uses : actions/checkout@v4
176181
177182 - name : Setup Flutter
178183 uses : subosito/flutter-action@v2
179184 with :
180- flutter-version : ${{ env.FLUTTER_VERSION }}
185+ # Pin version for stable only; let beta float to latest beta build.
186+ flutter-version : ${{ matrix.flutter-channel == 'stable' && env.FLUTTER_VERSION || '' }}
181187 channel : ${{ matrix.flutter-channel }}
182188 cache : true
183189
184190 - name : flutter pub get
185191 run : flutter pub get
186192
187- - name : Run all tests
188- run : flutter test --no-pub
193+ - name : Run all tests (exclude golden — pixel refs are ubuntu-22.04 only)
194+ # Golden tests are pinned to ubuntu-22.04 in golden.yml.
195+ # Running them on macOS/Windows would always fail due to font/subpixel differences.
196+ run : >-
197+ flutter test --no-pub
198+ test/accessibility_test.dart
199+ test/css_keyframes_test.dart
200+ test/fragment_test.dart
201+ test/giant_div_test.dart
202+ test/html_heuristics_test.dart
203+ test/html_sanitizer_test.dart
204+ test/hyper_render_test.dart
205+ test/hyper_render_widget_test.dart
206+ test/hyper_selection_overlay_test.dart
207+ test/hyper_viewer_animated_switcher_test.dart
208+ test/integration/
209+ test/integration_test.dart
210+ test/integration_test_all.dart
211+ test/integration_test_extended.dart
212+ test/layout_logic_test.dart
213+ test/lru_cache_test.dart
214+ test/media_test.dart
215+ test/memory/
216+ test/model/
217+ test/render_hyper_box_test.dart
218+ test/reproduce_semantics_error_test.dart
219+ test/ruby_selection_test.dart
220+ test/security_edge_cases_test.dart
221+ test/style/
222+ test/svg_builder_test.dart
223+ test/system_test.dart
224+ test/table_layout_test.dart
225+ test/v120/
226+ test/widget/
189227
190228 - name : Upload test results
191229 if : failure()
0 commit comments