Skip to content

Re-enable WASM CI tests once idb_shim regression is resolved #1123

@mtrezza

Description

@mtrezza

Context

The WASM CI job (flutter test --platform chrome --wasm) was disabled in #1110 because idb_shim 2.8.1, a transitive dependency of sembast_web released on 2026-01-22, causes WASM tests to hang during initialization.

  • Last passing CI run: 2026-01-21 (resolved idb_shim 2.8.0)
  • First failing CI run: 2026-01-23 (resolved idb_shim 2.8.1)
  • idb_shim 2.8.1 change: added "JDB implementation files from sembast_web", which appears to have introduced a WASM regression

Since pubspec.lock is not tracked in git, CI resolves fresh dependencies on every run and there is no way to pin the transitive dependency without dependency_overrides.

What was done

  • Commented out the WASM matrix entry in .github/workflows/ci.yml
  • Added @TestOn('vm') to test files that use platform plugins incompatible with WASM (shared_preferences, connectivity_plus)
  • Added a WASM smoke test (wasm_compatibility_test.dart) that avoids platform plugins

What needs to happen to re-enable

  1. Verify that idb_shim has released a fix for the WASM regression
  2. Uncomment the WASM matrix entry in .github/workflows/ci.yml
  3. Re-add the conditional WASM test step:
    - name: Run tests (WASM)
      if: ${{ matrix.wasm }}
      run: (cd packages/flutter && flutter test --platform chrome --wasm)
  4. Add back the !matrix.wasm condition to the regular test step and coverage steps
  5. Confirm CI passes with WASM enabled

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:ciCI related issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions