Skip to content

[ci] Run web tests in wasm (unit + integration). - #8111

Merged
auto-submit[bot] merged 32 commits into
flutter:mainfrom
ditman:run-web-integration-wasm
Jan 7, 2025
Merged

[ci] Run web tests in wasm (unit + integration).#8111
auto-submit[bot] merged 32 commits into
flutter:mainfrom
ditman:run-web-integration-wasm

Conversation

@ditman

@ditmanditman commented Nov 16, 2024

Copy link
Copy Markdown
Member

Adds CI configuration to run web integration tests (in the master channel) compiled to Wasm.

It also removes the build-examples step from web integration tests, in some isolated testing:

platform tests shardWith build-examplesWithout build-examples
130m21m
213m11m
317m10m

Issues

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@ditmanditman left a comment

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes are required, do not merge as is.

Comment thread.ci/targets/web_platform_tests.yaml Outdated
Comment thread.ci.yaml Outdated

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Talk to @eyebrowsoffire about this new delay.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We discussed this, the skwasm renderer is now async, so it makes sense that there's some timing differences compared to the JS one. Needing this additional delay is probably caused by the tester not being aware of this asynchronicity, and declaring a frame "pumped" before it's really been fully rendered.

@ditman
ditmanforce-pushed the run-web-integration-wasm branch from 420958b to 598ed80CompareDecember 23, 2024 23:28
@ditman

Copy link
Copy Markdown
MemberAuthor
[0:00] Running for packages/animations...
No version change.
Found NEXT; validating next version in the CHANGELOG.
No CHANGELOG change found.
If this PR needs an exemption from the standard policy of listing all changes in the CHANGELOG,
comment in the PR to explain why the PR is exempt, and add (or ask your reviewer to add) the
"override: no changelog needed" label.
Otherwise, please add a NEXT entry in the CHANGELOG as described in the contributing guide.

The only change to packages/animations is the .gitignore, which is having a flutter fix that I introduced in May 2022 (here). No need to version anything, it's purely repo related.

@ditmanditman added the override: no changelog needed Override the check requiring CHANGELOG updates for most changes label Dec 24, 2024
@stuartmorgan-g

Copy link
Copy Markdown
Collaborator

My only question is if we want to run the tests both on master and stable or master only is fine.

My rule of thumb for expensive tests is to ask: is someone likely to make a change that only breaks on the combination of stable and the new config? Or can we get almost as much confidence that if some PR passes some configuration on stable, and also passes both configurations on master, that it'll be fine on the other configuration on stable?

If we don't have that confidence, then we can add (ideally post-submit-only) stable versions, otherwise I tend to lean toward reducing CI load.

@stuartmorgan-gstuartmorgan-g left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment threadpackages/animations/example/.gitignore Outdated
@ditman

Copy link
Copy Markdown
MemberAuthor

[...] otherwise I tend to lean toward reducing CI load.

@stuartmorgan I agree, let's go with just master for now. I'm not sure what can be introduced into wasm compilation that would break this stuff too badly only on stable (but we're very smart people, I'm sure we can find a way :P)

Anyway, it's easy enough to add the stable shards down the line, so let's go with this!

@ditman

ditman commented Jan 7, 2025

Copy link
Copy Markdown
MemberAuthor
The following packages had errors:
packages/animations:
Missing version change

Adding label to skip version change in packages/animations. The only change is in the .gitignore file (see message above)

@ditmanditman added the override: no versioning needed Override the check requiring version bumps for most changes label Jan 7, 2025
@ditmanditman changed the title [ci][web] Run web tests in wasm (unit + integration).[ci] Run web tests in wasm (unit + integration).Jan 7, 2025
@ditman

Copy link
Copy Markdown
MemberAuthor

One last update to give flakes a chance to reconsider their failing stance :P

@ditmanditman added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 7, 2025
@auto-submit
auto-submitBot merged commit 11a9fa8 into flutter:mainJan 7, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 9, 2025
github-merge-queueBot pushed a commit to flutter/flutter that referenced this pull request Jan 9, 2025
flutter/packages@3fc6b7a...6554751
2025-01-09 stanleycocoa@gmail.com [webview_flutter_wkwebview] Add a
listener for the canGoBack property change on the iOS platform.
(flutter/packages#8203)
2025-01-09 39571861+memishood@users.noreply.github.com [flutter_svg]
Implement errorBuilder callback (flutter/packages#8364)
2025-01-08 10687576+bparrishMines@users.noreply.github.com
[interactive_media_ads] Adds remaining methods for internal wrapper of
the iOS native `IMAAdDisplayContainer`. (flutter/packages#8153)
2025-01-08 jhy03261997@gmail.com [go_router_builder] Add a fallback for
a not null List or Set param (flutter/packages#8349)
2025-01-08 engine-flutter-autoroll@skia.org Manual roll Flutter (stable)
from 8495dee to 17025dd (2 revisions) (flutter/packages#8396)
2025-01-08 10687576+bparrishMines@users.noreply.github.com
[ci][video_player_android][camera_android_camerax] Manual roll and fix
tests (flutter/packages#8391)
2025-01-07 ditman@gmail.com [ci] Run web tests in wasm (unit +
integration). (flutter/packages#8111)
2025-01-07 liff@iki.fi [camera_platform_interface] Add API support query
for image streaming (flutter/packages#8307)
2025-01-07 10687576+bparrishMines@users.noreply.github.com
[camera_android_camerax][video_player_android] Suppresses deprecation of
the `SurfaceProducer.Callback.onSurfaceDestroyed` method
(flutter/packages#8388)
2025-01-07 jessiewong401@gmail.com Bump Remaining Plugin Example Apps to
targetSdkVersion >= 34 and compileSdkVersion >= 34
(flutter/packages#8361)
2025-01-07 matanlurey@users.noreply.github.com Replace
`onSurfaceCreated` with `onSurfaceAvailable`. (flutter/packages#8384)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.
To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
Adds CI configuration to run web integration tests (in the master channel) compiled to Wasm.
It also removes the `build-examples` step from web integration tests, in some isolated testing:
| platform tests shard | With build-examples | Without build-examples |
|---|-----|-----|
| 1 | 30m | 21m |
| 2 | 13m | 11m |
| 3 | 17m | 10m |
## Issues
* Fixesflutter/flutter#151664
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
Adds CI configuration to run web integration tests (in the master channel) compiled to Wasm.
It also removes the `build-examples` step from web integration tests, in some isolated testing:
| platform tests shard | With build-examples | Without build-examples |
|---|-----|-----|
| 1 | 30m | 21m |
| 2 | 13m | 11m |
| 3 | 17m | 10m |
## Issues
* Fixesflutter/flutter#151664
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
Adds CI configuration to run web integration tests (in the master channel) compiled to Wasm.
It also removes the `build-examples` step from web integration tests, in some isolated testing:
| platform tests shard | With build-examples | Without build-examples |
|---|-----|-----|
| 1 | 30m | 21m |
| 2 | 13m | 11m |
| 3 | 17m | 10m |
## Issues
* Fixesflutter/flutter#151664
bisor0627 pushed a commit to bisor0627/packages that referenced this pull request Jun 19, 2026
Adds CI configuration to run web integration tests (in the master channel) compiled to Wasm.
It also removes the `build-examples` step from web integration tests, in some isolated testing:
| platform tests shard | With build-examples | Without build-examples |
|---|-----|-----|
| 1 | 30m | 21m |
| 2 | 13m | 11m |
| 3 | 17m | 10m |
## Issues
* Fixesflutter/flutter#151664
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmitMerge PR when tree becomes green via auto submit Appoverride: no changelog neededOverride the check requiring CHANGELOG updates for most changesoverride: no versioning neededOverride the check requiring version bumps for most changesp: animationsp: google_adsensep: google_maps_flutterp: image_pickerp: pointer_interceptorp: rfwRemote Flutter Widgetsp: url_launcherp: vector_graphicsp: video_playerplatform-web

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add packages repo CI job to run web integration tests compiled to WASM

3 participants

@ditman@stuartmorgan-g@eyebrowsoffire