[ci] Add Wasm compilation to all_packages web app. (#6981)

Adds a "--wasm" mode to create and build "all_packages" app to verify all our plugins compile with Wasm.

Except not all do for now, so this also adds a "exclude_all_packages_app_wasm.yaml" file that allows us to remove the packages that aren't fully compatible yet.

## Issues

* Fixes: https://github.com/flutter/flutter/issues/150748
* Related: https://github.com/flutter/flutter/issues/117022
* Related: https://github.com/flutter/flutter/issues/148624
This commit is contained in:
David Iglesias
2024-06-27 12:34:15 -07:00
committed by GitHub
parent 62e1963cf7
commit a9240e6558
4 changed files with 35 additions and 2 deletions

View File

@ -4,5 +4,16 @@
# found in the LICENSE file.
set -e
# The base exclusion file for all_packages app.
exclusions=("script/configs/exclude_all_packages_app.yaml")
# Add a wasm-specific exclusion file if "--wasm" is specified.
if [[ "$1" == "--wasm" ]]; then
exclusions+=",script/configs/exclude_all_packages_app_wasm.yaml"
fi
# Delete ./all_packages if it exists already
rm -rf ./all_packages
dart ./script/tool/bin/flutter_plugin_tools.dart create-all-packages-app \
--output-dir=. --exclude script/configs/exclude_all_packages_app.yaml
--output-dir=. --exclude "$exclusions"

View File

@ -10,3 +10,10 @@ tasks:
- name: build all_packages app for Web release
script: .ci/scripts/build_all_packages_app.sh
args: ["web", "release"]
- name: (Wasm) create all_packages app
script: .ci/scripts/create_all_packages_app.sh
args: ["--wasm"]
infra_step: true # Note infra steps failing prevents "always" from running.
- name: (Wasm) build all_packages app for Web release
script: .ci/scripts/build_all_packages_app.sh
args: ["web", "release", "--wasm"]

View File

@ -9,5 +9,5 @@
# NOTE: camera_android is semi-excluded via special casing in the repo tools.
# See create_all_packages_app_command.dart.
# This is a permament entry, as it should never be a direct app dependency.
# This is a permanent entry, as it should never be a direct app dependency.
- plugin_platform_interface

View File

@ -0,0 +1,15 @@
# This list should be kept as short as possible, and things should remain here
# only as long as necessary, since in general the goal is for all of the latest
# versions of packages to be mutually compatible, and compilable with Wasm.
# This is only used for wasm compilation. Once all packages in the repo have
# been migrated, remove this file and use `exclude_all_packages_app.yaml` only.
# Packages that aren't migrated yet.
# https://github.com/flutter/flutter/issues/117022
- camera
- webview_flutter
# Dependencies are not migrated yet
# https://github.com/flutter/flutter/issues/148624
- google_maps_flutter