-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
We'll use the same logic we use for runIf to determine if the engine sources changed::
DEPSengine/**
If there are >= 30 files or one of the files above changed, we keep doing what we do now (i.e. build the engine before scheduling engine and framework tests).
Otherwise, in this new flow (TM):
-
We support
FLUTTER_PREBUILT_ENGINE_VERSION: -
We set
properties['flutter_prebuilt_engine_version']=github.event.pull_request.base.sha(in Cocoon)MERGED: Pass along flutter_prebuilt_engine_version if so requested cocoon#4177
-
We update LUCI recipes
repo_utils/api.pyto, if provided, useflutter_prebuilt_engine_versionto set the environment variableFLUTTER_ENGINE_VERSION={property}. -
Edit
triggerPresubmitTargetsto make the request for the list of files before computing presubmit targets.MERGED: Inject a
GetFilesChangedshim instead of usingGithubServicedirectly. cocoon#4178MERGED: Skip engine builds/tests for a framework-only PR (allow-listed) cocoon#4185
This, combined with the work we already did/are doing, see #162118, means that we'll fetch and use an older engine artifact.
There is future work to do to expand beyond the 30 file limit (see #161462), but we believe this would address many framework-only PRs today, allowing us to fix the limitations we have today of understanding what files changed (and eventually move towards something like a precomputed build plan).