-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
Labels
team-infraOwned by Infrastructure teamOwned by Infrastructure team
Description
I am making some improvements to the web build pipeline: flutter/engine#36520
We will need some changes to the CI recipes to take advantage of these improvements. This gets rid of a lot of redundancy which should improve the build times of both the web engine and the native engine steps. I'm happy to work with someone on the details, but here is a high-level description of what I think is needed for the recipe changes:
Recipe changes:
- Remove
Install Xcodesteps entirely fromweb_engine.py. Web engine builds and tests no longer require Xcode at all. (So essentially Ensurefelt build/felt testcan be run without Xcode on a Mac #105805 is resolved now). - Change the way we invoke the felt tool
- Right now, the recipes invoke
felt.dartdirectly using a built version of dart-sdk. However, now we use prebuilt dart sdk for everything web. The recipe could get this for free by just running thefeltbash script orfelt.batwhich finds the appropriate prebuilt dart sdk and invokesfelt.dartusing that. - On a related note, we are still invoking this
felt_windows.batfile on the Windows build. We'd rather migrate the windows side tofelt.batand remove the legacyfelt_windows.batfile. - Note: This same concept applies to both
web_engine.pyandweb_engine_drone.py
- Right now, the recipes invoke
- No
host_debug_unoptbuild needs to happen at all anymore in order to test.felt testworks without any build at all.- One exception is that the subshard that runs
felt testwith the--use-local-canvaskitflag requires the--wasm --runtime-mode=releaseto be built.
- One exception is that the subshard that runs
- Change the way we build artifacts
- Add a step to
engine.pyto run the--wasm --runtime-mode=releasebuild. This will produce a single platform-agnostic artifactflutter-web-sdk.zipthat needs to be uploaded - Once the flutter tool has been updated to use this artifact, the recipe can stop uploading other platform-specific
flutter-web-sdk-{platformname}.zipartifacts - Once the recipes stop uploading the platform-specific artifacts, the engine repo can be updated to not do any web sdk steps in the host builds.
- Add a step to
Metadata
Metadata
Assignees
Labels
team-infraOwned by Infrastructure teamOwned by Infrastructure team