Get et working for local web engine builds. (#161825)

This PR makes a few different changes to make building the web engine
via `et` a bit smoother:
* Adds a few build steps to `local_engine.json` so that et can build
`wasm_release` and `wasm_debug_unopt` builds on Linux and Mac locally.
* Removed the part of our `generate_builder_json` step which generates
the `linux_web_engine_build.json` file. This previously used to be
generated based off of the contents of `felt_config.yaml` but now it's
just not parameterized at all, so there is no benefit to generating it
and we can just manually maintain the file now.
* Fixed an issue where the skwasm debug build was failing due to a wrong
output file being specified in the gn rule.
This commit is contained in:
Jackson Gardner 2025-01-21 10:15:18 -08:00 committed by GitHub
parent cfb8522609
commit eb6af3d029
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 103 additions and 34 deletions

View File

@ -1,6 +1,4 @@
{
"_comment": "THIS IS A GENERATED FILE. Do not edit this file directly.",
"_comment2": "See `generate_builder_json.dart` for the generator code",
"builds": [
{
"name": "ci/wasm_release",

View File

@ -948,6 +948,108 @@
"config": "host_release",
"targets": []
}
},
{
"name": "linux/wasm_release",
"drone_dimensions": [
"device_type=none",
"os=Linux"
],
"gclient_variables": {
"download_android_deps": false,
"download_jdk": false,
"download_emsdk": true
},
"gn": [
"--web",
"--runtime-mode=release",
"--no-rbe",
"--no-goma"
],
"ninja": {
"config": "wasm_release",
"targets": [
"flutter/web_sdk:flutter_web_sdk_archive"
]
},
"cas_archive": false
},
{
"name": "linux/wasm_debug_unopt",
"drone_dimensions": [
"device_type=none",
"os=Linux"
],
"gclient_variables": {
"download_android_deps": false,
"download_jdk": false,
"download_emsdk": true
},
"gn": [
"--web",
"--runtime-mode=debug",
"--unoptimized",
"--no-rbe",
"--no-goma"
],
"ninja": {
"config": "wasm_debug_unopt",
"targets": [
"flutter/web_sdk:flutter_web_sdk_archive"
]
},
"cas_archive": false
},
{
"name": "macos/wasm_release",
"drone_dimensions": [
"device_type=none",
"os=Mac"
],
"gclient_variables": {
"download_android_deps": false,
"download_jdk": false,
"download_emsdk": true
},
"gn": [
"--web",
"--runtime-mode=release",
"--no-rbe",
"--no-goma"
],
"ninja": {
"config": "wasm_release",
"targets": [
"flutter/web_sdk:flutter_web_sdk_archive"
]
},
"cas_archive": false
},
{
"name": "macos/wasm_debug_unopt",
"drone_dimensions": [
"device_type=none",
"os=Mac"
],
"gclient_variables": {
"download_android_deps": false,
"download_jdk": false,
"download_emsdk": true
},
"gn": [
"--web",
"--runtime-mode=debug",
"--unoptimized",
"--no-rbe",
"--no-goma"
],
"ninja": {
"config": "wasm_debug_unopt",
"targets": [
"flutter/web_sdk:flutter_web_sdk_archive"
]
},
"cas_archive": false
}
]
}

View File

@ -28,10 +28,6 @@ class GenerateBuilderJsonCommand extends Command<bool> {
final FeltConfig config = FeltConfig.fromFile(
path.join(environment.webUiTestDir.path, 'felt_config.yaml'),
);
_writeBuilderJson(
_generateBuilderJson([_getArtifactBuildStep()], []),
'linux_web_engine_build.json',
);
_writeBuilderJson(
_generateBuilderJson(
config.testBundles.map((TestBundle bundle) => _getBundleBuildStep(bundle)).toList(),
@ -63,33 +59,6 @@ class GenerateBuilderJsonCommand extends Command<bool> {
return const JsonEncoder.withIndent(' ').convert(outputJson);
}
Map<String, dynamic> _getArtifactBuildStep() {
return <String, dynamic>{
'name': 'ci/wasm_release',
'drone_dimensions': <String>['device_type=none', 'os=Linux', 'cores=32'],
'gclient_variables': <String, dynamic>{
'download_android_deps': false,
'download_jdk': false,
'download_emsdk': true,
},
'gn': <String>['--web', '--runtime-mode=release', '--no-rbe', '--no-goma'],
'ninja': <String, dynamic>{
'config': 'wasm_release',
'targets': <String>['flutter/web_sdk:flutter_web_sdk_archive'],
},
'archives': <dynamic>[
<String, dynamic>{
'name': 'wasm_release',
'base_path': 'out/wasm_release/zip_archives/',
'type': 'gcs',
'include_paths': <String>['out/wasm_release/zip_archives/flutter-web-sdk.zip'],
'realm': 'production',
},
],
'cas_archive': false,
};
}
Map<String, dynamic> _getBundleBuildStep(TestBundle bundle) {
return <String, dynamic>{
'name': 'web_tests/test_bundles/${bundle.name}',

View File

@ -143,7 +143,7 @@ copy("skwasm_st_group") {
]
if (is_debug) {
if (!wasm_use_dwarf) {
sources += [ "$root_out_dir/skwasm_st/skwasm.wasm.map" ]
sources += [ "$root_out_dir/skwasm_st/skwasm_st.wasm.map" ]
}
}
outputs = [ "$root_out_dir/flutter_web_sdk/canvaskit/{{source_file_part}}" ]