Roll engine to b9e02cc838ecb4b24f6f3949e5e9de159575dcbd

Roller-URL: https://ci.chromium.org/b/8810450865377887889
Cq-Cl-Tag: roller-builder:Linux ci_yaml engine roller
Cq-Cl-Tag: roller-bid:8810450865377887889
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I523cbc9f4f27de20175d8d4c83ff815a08d47a06
Reviewed-on: https://flutter-review.googlesource.com/c/infra/+/31581
Bot-Commit: flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com <flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com <flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com>
diff --git a/config/generated/ci_yaml/engine_config.json b/config/generated/ci_yaml/engine_config.json
index c034cd9..e402d4b 100644
--- a/config/generated/ci_yaml/engine_config.json
+++ b/config/generated/ci_yaml/engine_config.json
@@ -1 +1 @@
-{"targets":[{"name":"Linux Android AOT Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_android_aot":"true","android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd"},"recipe":"engine/engine"},{"name":"Linux Android Debug Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_android_debug":"true","build_android_jit_release":"true","build_android_vulkan":"true","android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd"},"recipe":"engine/engine"},{"name":"Linux Android Emulator Tests","timeout":60,"properties":{"dependencies":"[\n  {\"dependency\": \"android_virtual_device\", \"version\": \"31\"},\n  {\"dependency\": \"goldctl\", \"version\": \"git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603\"}\n]","upload_packages":"true","clobber":"true"},"runIf":["DEPS",".ci.yaml","testing/**","shell/platforms/android/**"],"enabledBranches":["main","master"],"recipe":"engine/scenarios"},{"name":"Linux Benchmarks","timeout":60,"properties":{"build_host":"true","upload_metrics":"true"},"presubmit":false,"enabledBranches":["main","master"],"recipe":"engine/engine_metrics"},{"name":"Linux Benchmarks (no-upload)","timeout":60,"properties":{"build_host":"true","upload_metrics":"false"},"recipe":"engine/engine_metrics"},{"name":"Linux Fuchsia","timeout":90,"properties":{"add_recipes_cq":"true","build_fuchsia":"true","fuchsia_ctl_version":"version:0.0.27","clobber":"true"},"recipe":"engine/engine"},{"name":"Linux Fuchsia FEMU","timeout":60,"properties":{"add_recipes_cq":"true","build_fuchsia":"true","fuchsia_ctl_version":"version:0.0.27","clobber":"true"},"recipe":"engine/femu_test"},{"name":"Linux Framework Smoke Tests","timeout":60,"enabledBranches":["main","master"],"recipe":"engine/framework_smoke"},{"name":"Linux Host Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_host":"true"},"recipe":"engine/engine"},{"name":"Linux Unopt","timeout":60,"properties":{"add_recipes_cq":"true","clobber":"true"},"recipe":"engine/engine_unopt"},{"name":"Linux clang-tidy","timeout":60,"properties":{"add_recipes_cq":"true","cores":"32"},"recipe":"engine/engine_lint"},{"name":"Linux Arm Host Engine","timeout":90,"properties":{"add_recipes_cq":"true","build_host":"true"},"recipe":"engine/engine_arm"},{"name":"Linux linux_arm_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_arm_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux linux_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux linux_android_aot_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_android_aot_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux linux_android_debug_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_android_debug_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux Web Engine","timeout":60,"properties":{"add_recipes_cq":"true","gcs_goldens_bucket":"flutter_logs","dependencies":"[\n  {\"dependency\": \"goldctl\", \"version\": \"git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603\"}\n]"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**","tools/**","ci/**","flutter_frontend_server/**"],"recipe":"engine/web_engine"},{"name":"Linux Web Framework tests","timeout":60,"properties":{"add_recipes_cq":"true","dependencies":"[\n  {\"dependency\": \"chrome_and_driver\", \"version\": \"version:96.2\"},\n  {\"dependency\": \"curl\", \"version\": \"version:7.64.0\"}\n]","framework":"true","shard":"web_tests","subshards":"[\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7_last\"]"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**","tools/**","ci/**","flutter_frontend_server/**"],"enabledBranches":["main","master"],"recipe":"engine/web_engine_framework"},{"name":"Mac Android AOT Engine","timeout":60,"properties":{"android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd","build_android_aot":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine"},{"name":"Mac Host Engine","timeout":75,"properties":{"add_recipes_cq":"true","build_host":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine"},{"name":"Mac mac_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"mac_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Mac Unopt","timeout":75,"properties":{"add_recipes_cq":"true","jazzy_version":"0.14.1","runtime_versions":"[\n  \"ios-13-0\",\n  \"ios-15-0\"\n]"},"recipe":"engine/engine_unopt"},{"name":"Mac clang-tidy","timeout":75,"properties":{"add_recipes_cq":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine_lint"},{"name":"Mac iOS Engine","timeout":60,"properties":{"build_ios":"true","ios_debug":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine"},{"name":"Mac Web Engine","timeout":60,"properties":{"add_recipes_cq":"true","gcs_goldens_bucket":"flutter_logs","dependencies":"[\n  {\"dependency\": \"goldctl\", \"version\": \"git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603\"}\n]"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**","tools/**","ci/**","flutter_frontend_server/**"],"recipe":"engine/web_engine"},{"name":"Mac mac_ios_engine","bringup":true,"timeout":60,"properties":{"config_name":"mac_ios_engine","environment":"Staging","dependencies":"[\n  {\"dependency\": \"jazzy\", \"version\": \"0.14.1\"}\n]"},"recipe":"engine_v2/engine_v2"},{"name":"Mac mac_ios_engine_profile","bringup":true,"timeout":60,"properties":{"config_name":"mac_ios_engine_profile","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Mac mac_ios_engine_release","bringup":true,"timeout":60,"properties":{"config_name":"mac_ios_engine_release","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Windows Android AOT Engine","timeout":60,"properties":{"build_android_aot":"true","android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd"},"recipe":"engine/engine"},{"name":"Windows Host Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_host":"true"},"recipe":"engine/engine"},{"name":"Windows windows_android_aot_engine","bringup":true,"timeout":60,"properties":{"config_name":"windows_android_aot_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Windows windows_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"windows_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Windows Unopt","timeout":75,"properties":{"add_recipes_cq":"true"},"recipe":"engine/engine_unopt"},{"name":"Windows Web Engine","timeout":60,"properties":{"gcs_goldens_bucket":"flutter_logs"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**"],"recipe":"engine/web_engine"},{"name":"Mac iOS Engine Profile","timeout":90,"properties":{"build_ios":"true","ios_profile":"true","jazzy_version":"0.14.1"},"presubmit":false,"recipe":"engine/engine"},{"name":"Mac iOS Engine Release","timeout":90,"properties":{"build_ios":"true","ios_release":"true","jazzy_version":"0.14.1"},"presubmit":false,"recipe":"engine/engine"},{"name":"Linux ci_yaml engine roller","bringup":true,"recipe":"infra/ci_yaml"}],"enabledBranches":["main","flutter-\\d+\\.\\d+-candidate\\.\\d+"],"platformProperties":{"linux":{"properties":{"build_host":"false","build_fuchsia":"false","build_android_debug":"false","build_android_aot":"false","build_android_vulkan":"false","build_ios":"false","build_android_jit_release":"false","gcs_goldens_bucket":"","ios_debug":"false","ios_profile":"false","ios_release":"false","no_bitcode":"false","dependencies":"[\n  {\"dependency\": \"open_jdk\", \"version\": \"version:1.8.0u202-b08\"},\n  {\"dependency\": \"gradle_cache\", \"version\": \"none\"}\n]","device_type":"none","os":"Ubuntu","cores":"8"}},"mac":{"properties":{"build_host":"false","build_fuchsia":"false","build_android_debug":"false","build_android_aot":"false","build_android_vulkan":"false","build_ios":"false","build_android_jit_release":"false","gcs_goldens_bucket":"","ios_debug":"false","ios_profile":"false","ios_release":"false","no_bitcode":"false","dependencies":"[\n  {\"dependency\": \"open_jdk\", \"version\": \"version:1.8.0u202-b08\"}\n]","device_type":"none","cpu":"x86","os":"Mac-12","xcode":"13a233"}},"windows":{"properties":{"build_host":"false","build_fuchsia":"false","build_android_debug":"false","build_android_aot":"false","build_android_vulkan":"false","build_ios":"false","build_android_jit_release":"false","gcs_goldens_bucket":"","ios_debug":"false","ios_profile":"false","ios_release":"false","no_bitcode":"false","dependencies":"[\n  {\"dependency\": \"open_jdk\", \"version\": \"version:1.8.0u202-b08\"}\n]","device_type":"none","os":"Windows-10"}}}}
+{"targets":[{"name":"Linux Android AOT Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_android_aot":"true","android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd"},"recipe":"engine/engine"},{"name":"Linux Android Debug Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_android_debug":"true","build_android_jit_release":"true","build_android_vulkan":"true","android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd"},"recipe":"engine/engine"},{"name":"Linux Android Emulator Tests","timeout":60,"properties":{"dependencies":"[\n  {\"dependency\": \"android_virtual_device\", \"version\": \"31\"},\n  {\"dependency\": \"goldctl\", \"version\": \"git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603\"}\n]","upload_packages":"true","clobber":"true"},"runIf":["DEPS",".ci.yaml","testing/**","shell/platforms/android/**"],"enabledBranches":["main","master"],"recipe":"engine/scenarios"},{"name":"Linux Benchmarks","timeout":60,"properties":{"build_host":"true","upload_metrics":"true"},"presubmit":false,"enabledBranches":["main","master"],"recipe":"engine/engine_metrics"},{"name":"Linux Benchmarks (no-upload)","timeout":60,"properties":{"build_host":"true","upload_metrics":"false"},"recipe":"engine/engine_metrics"},{"name":"Linux Fuchsia","timeout":90,"properties":{"add_recipes_cq":"true","build_fuchsia":"true","fuchsia_ctl_version":"version:0.0.27","clobber":"true"},"recipe":"engine/engine"},{"name":"Linux Fuchsia FEMU","timeout":60,"properties":{"add_recipes_cq":"true","build_fuchsia":"true","fuchsia_ctl_version":"version:0.0.27","clobber":"true"},"recipe":"engine/femu_test"},{"name":"Linux Framework Smoke Tests","timeout":60,"enabledBranches":["main","master"],"recipe":"engine/framework_smoke"},{"name":"Linux Host Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_host":"true"},"recipe":"engine/engine"},{"name":"Linux Unopt","timeout":60,"properties":{"add_recipes_cq":"true","clobber":"true"},"recipe":"engine/engine_unopt"},{"name":"Linux License","bringup":true,"timeout":60,"properties":{"add_recipes_cq":"true","clobber":"true"},"recipe":"engine/engine_license"},{"name":"Linux clang-tidy","timeout":60,"properties":{"add_recipes_cq":"true","cores":"32"},"recipe":"engine/engine_lint"},{"name":"Linux Arm Host Engine","timeout":90,"properties":{"add_recipes_cq":"true","build_host":"true"},"recipe":"engine/engine_arm"},{"name":"Linux linux_arm_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_arm_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux linux_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux linux_android_aot_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_android_aot_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux linux_android_debug_engine","bringup":true,"timeout":60,"properties":{"config_name":"linux_android_debug_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Linux Web Engine","timeout":60,"properties":{"add_recipes_cq":"true","gcs_goldens_bucket":"flutter_logs","dependencies":"[\n  {\"dependency\": \"goldctl\", \"version\": \"git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603\"}\n]"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**","tools/**","ci/**","flutter_frontend_server/**"],"recipe":"engine/web_engine"},{"name":"Linux Web Framework tests","timeout":60,"properties":{"add_recipes_cq":"true","dependencies":"[\n  {\"dependency\": \"chrome_and_driver\", \"version\": \"version:96.2\"},\n  {\"dependency\": \"curl\", \"version\": \"version:7.64.0\"}\n]","framework":"true","shard":"web_tests","subshards":"[\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7_last\"]"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**","tools/**","ci/**","flutter_frontend_server/**"],"enabledBranches":["main","master"],"recipe":"engine/web_engine_framework"},{"name":"Mac Android AOT Engine","timeout":60,"properties":{"android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd","build_android_aot":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine"},{"name":"Mac Host Engine","timeout":75,"properties":{"add_recipes_cq":"true","build_host":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine"},{"name":"Mac mac_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"mac_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Mac Unopt","timeout":75,"properties":{"add_recipes_cq":"true","jazzy_version":"0.14.1","runtime_versions":"[\n  \"ios-13-0\",\n  \"ios-15-0\"\n]"},"recipe":"engine/engine_unopt"},{"name":"Mac clang-tidy","timeout":75,"properties":{"add_recipes_cq":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine_lint"},{"name":"Mac iOS Engine","timeout":60,"properties":{"build_ios":"true","ios_debug":"true","jazzy_version":"0.14.1"},"recipe":"engine/engine"},{"name":"Mac Web Engine","timeout":60,"properties":{"add_recipes_cq":"true","gcs_goldens_bucket":"flutter_logs","dependencies":"[\n  {\"dependency\": \"goldctl\", \"version\": \"git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603\"}\n]"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**","tools/**","ci/**","flutter_frontend_server/**"],"recipe":"engine/web_engine"},{"name":"Mac mac_ios_engine","bringup":true,"timeout":60,"properties":{"config_name":"mac_ios_engine","environment":"Staging","dependencies":"[\n  {\"dependency\": \"jazzy\", \"version\": \"0.14.1\"}\n]"},"recipe":"engine_v2/engine_v2"},{"name":"Mac mac_ios_engine_profile","bringup":true,"timeout":60,"properties":{"config_name":"mac_ios_engine_profile","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Mac mac_ios_engine_release","bringup":true,"timeout":60,"properties":{"config_name":"mac_ios_engine_release","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Windows Android AOT Engine","timeout":60,"properties":{"build_android_aot":"true","android_sdk_license":"\\n24333f8a63b6825ea9c5514f83c2829b004d1fee","android_sdk_preview_license":"\\n84831b9409646a918e30573bab4c9c91346d8abd"},"recipe":"engine/engine"},{"name":"Windows Host Engine","timeout":60,"properties":{"add_recipes_cq":"true","build_host":"true"},"recipe":"engine/engine"},{"name":"Windows windows_android_aot_engine","bringup":true,"timeout":60,"properties":{"config_name":"windows_android_aot_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Windows windows_host_engine","bringup":true,"timeout":60,"properties":{"config_name":"windows_host_engine","environment":"Staging"},"recipe":"engine_v2/engine_v2"},{"name":"Windows Unopt","timeout":75,"properties":{"add_recipes_cq":"true"},"recipe":"engine/engine_unopt"},{"name":"Windows Web Engine","timeout":60,"properties":{"gcs_goldens_bucket":"flutter_logs"},"runIf":["DEPS",".ci.yaml","lib/web_ui/**","web_sdk/**"],"recipe":"engine/web_engine"},{"name":"Mac iOS Engine Profile","timeout":90,"properties":{"build_ios":"true","ios_profile":"true","jazzy_version":"0.14.1"},"presubmit":false,"recipe":"engine/engine"},{"name":"Mac iOS Engine Release","timeout":90,"properties":{"build_ios":"true","ios_release":"true","jazzy_version":"0.14.1"},"presubmit":false,"recipe":"engine/engine"},{"name":"Linux ci_yaml engine roller","bringup":true,"recipe":"infra/ci_yaml"}],"enabledBranches":["main","flutter-\\d+\\.\\d+-candidate\\.\\d+"],"platformProperties":{"linux":{"properties":{"build_host":"false","build_fuchsia":"false","build_android_debug":"false","build_android_aot":"false","build_android_vulkan":"false","build_ios":"false","build_android_jit_release":"false","gcs_goldens_bucket":"","ios_debug":"false","ios_profile":"false","ios_release":"false","no_bitcode":"false","dependencies":"[\n  {\"dependency\": \"open_jdk\", \"version\": \"version:1.8.0u202-b08\"},\n  {\"dependency\": \"gradle_cache\", \"version\": \"none\"}\n]","device_type":"none","os":"Ubuntu","cores":"8"}},"mac":{"properties":{"build_host":"false","build_fuchsia":"false","build_android_debug":"false","build_android_aot":"false","build_android_vulkan":"false","build_ios":"false","build_android_jit_release":"false","gcs_goldens_bucket":"","ios_debug":"false","ios_profile":"false","ios_release":"false","no_bitcode":"false","dependencies":"[\n  {\"dependency\": \"open_jdk\", \"version\": \"version:1.8.0u202-b08\"}\n]","device_type":"none","cpu":"x86","os":"Mac-12","xcode":"13a233"}},"windows":{"properties":{"build_host":"false","build_fuchsia":"false","build_android_debug":"false","build_android_aot":"false","build_android_vulkan":"false","build_ios":"false","build_android_jit_release":"false","gcs_goldens_bucket":"","ios_debug":"false","ios_profile":"false","ios_release":"false","no_bitcode":"false","dependencies":"[\n  {\"dependency\": \"open_jdk\", \"version\": \"version:1.8.0u202-b08\"}\n]","device_type":"none","os":"Windows-10"}}}}
diff --git a/config/generated/flutter/luci/commit-queue.cfg b/config/generated/flutter/luci/commit-queue.cfg
index a514773..9ee72dd 100644
--- a/config/generated/flutter/luci/commit-queue.cfg
+++ b/config/generated/flutter/luci/commit-queue.cfg
@@ -110,6 +110,9 @@
         name: "flutter/try/Linux Host Engine"
       }
       builders {
+        name: "flutter/try/Linux License"
+      }
+      builders {
         name: "flutter/try/Linux Unopt"
       }
       builders {
diff --git a/config/generated/flutter/luci/cr-buildbucket.cfg b/config/generated/flutter/luci/cr-buildbucket.cfg
index c094fe2..e5752e4 100644
--- a/config/generated/flutter/luci/cr-buildbucket.cfg
+++ b/config/generated/flutter/luci/cr-buildbucket.cfg
@@ -1222,6 +1222,103 @@
       }
     }
     builders {
+      name: "Linux License"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:8"
+      dimensions: "device_type:none"
+      dimensions: "os:Ubuntu"
+      dimensions: "pool:luci.flutter.prod"
+      exe {
+        cipd_package: "flutter/recipe_bundles/flutter.googlesource.com/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$fuchsia/goma": {'
+        '    "server": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog"'
+        '  },'
+        '  "$kitchen": {'
+        '    "emulate_gce": true'
+        '  },'
+        '  "$recipe_engine/isolated": {'
+        '    "server": "https://isolateserver.appspot.com"'
+        '  },'
+        '  "$recipe_engine/swarming": {'
+        '    "server": "https://chromium-swarm.appspot.com"'
+        '  },'
+        '  "add_recipes_cq": true,'
+        '  "bringup": true,'
+        '  "build_android_aot": false,'
+        '  "build_android_debug": false,'
+        '  "build_android_jit_release": false,'
+        '  "build_android_vulkan": false,'
+        '  "build_fuchsia": false,'
+        '  "build_host": false,'
+        '  "build_ios": false,'
+        '  "clobber": true,'
+        '  "cores": 8,'
+        '  "dependencies": ['
+        '    {'
+        '      "dependency": "open_jdk",'
+        '      "version": "version:1.8.0u202-b08"'
+        '    },'
+        '    {'
+        '      "dependency": "gradle_cache",'
+        '      "version": "none"'
+        '    }'
+        '  ],'
+        '  "device_type": "none",'
+        '  "gcs_goldens_bucket": "",'
+        '  "git_branch": "main",'
+        '  "git_repo": "engine",'
+        '  "gold_tryjob": false,'
+        '  "goma_jobs": "200",'
+        '  "ios_debug": false,'
+        '  "ios_profile": false,'
+        '  "ios_release": false,'
+        '  "mastername": "client.flutter",'
+        '  "no_bitcode": false,'
+        '  "os": "Ubuntu",'
+        '  "recipe": "engine/engine_license",'
+        '  "upload_packages": true,'
+        '  "use_cas": true'
+        '}'
+      priority: 30
+      execution_timeout_secs: 10800
+      caches {
+        name: "engine__builder"
+        path: "builder"
+      }
+      caches {
+        name: "engine__gradle_cache_none"
+        path: "gradle_cache"
+      }
+      caches {
+        name: "engine__open_jdk_version_1_8_0u202_b08"
+        path: "open_jdk"
+      }
+      caches {
+        name: "engine__open_jdk_version_1_8_0u202_b08_legacy"
+        path: "java"
+      }
+      caches {
+        name: "pub_cache"
+        path: ".pub-cache"
+      }
+      build_numbers: YES
+      service_account: "flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
+      task_template_canary_percentage {}
+      experiments {
+        key: "luci.buildbucket.agent.cipd_installation"
+        value: 0
+      }
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
       name: "Linux Publish Plugins"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "os:Linux"
@@ -98199,6 +98296,104 @@
       }
     }
     builders {
+      name: "Linux License"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:8"
+      dimensions: "device_type:none"
+      dimensions: "os:Ubuntu"
+      dimensions: "pool:luci.flutter.staging"
+      exe {
+        cipd_package: "flutter/recipe_bundles/flutter.googlesource.com/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$fuchsia/goma": {'
+        '    "server": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog"'
+        '  },'
+        '  "$kitchen": {'
+        '    "emulate_gce": true'
+        '  },'
+        '  "$recipe_engine/isolated": {'
+        '    "server": "https://isolateserver.appspot.com"'
+        '  },'
+        '  "$recipe_engine/swarming": {'
+        '    "server": "https://chromium-swarm.appspot.com"'
+        '  },'
+        '  "add_recipes_cq": true,'
+        '  "bringup": true,'
+        '  "build_android_aot": false,'
+        '  "build_android_debug": false,'
+        '  "build_android_jit_release": false,'
+        '  "build_android_vulkan": false,'
+        '  "build_fuchsia": false,'
+        '  "build_host": false,'
+        '  "build_ios": false,'
+        '  "clobber": true,'
+        '  "cores": 8,'
+        '  "dependencies": ['
+        '    {'
+        '      "dependency": "open_jdk",'
+        '      "version": "version:1.8.0u202-b08"'
+        '    },'
+        '    {'
+        '      "dependency": "gradle_cache",'
+        '      "version": "none"'
+        '    }'
+        '  ],'
+        '  "device_type": "none",'
+        '  "gcs_goldens_bucket": "",'
+        '  "git_branch": "main",'
+        '  "git_repo": "engine",'
+        '  "gold_tryjob": false,'
+        '  "goma_jobs": "200",'
+        '  "ios_debug": false,'
+        '  "ios_profile": false,'
+        '  "ios_release": false,'
+        '  "mastername": "client.flutter",'
+        '  "no_bitcode": false,'
+        '  "os": "Ubuntu",'
+        '  "recipe": "engine/engine_license",'
+        '  "upload_packages": true,'
+        '  "use_cas": true'
+        '}'
+      priority: 30
+      execution_timeout_secs: 10800
+      expiration_secs: 86400
+      caches {
+        name: "engine__builder"
+        path: "builder"
+      }
+      caches {
+        name: "engine__gradle_cache_none"
+        path: "gradle_cache"
+      }
+      caches {
+        name: "engine__open_jdk_version_1_8_0u202_b08"
+        path: "open_jdk"
+      }
+      caches {
+        name: "engine__open_jdk_version_1_8_0u202_b08_legacy"
+        path: "java"
+      }
+      caches {
+        name: "pub_cache"
+        path: ".pub-cache"
+      }
+      build_numbers: YES
+      service_account: "flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com"
+      task_template_canary_percentage {}
+      experiments {
+        key: "luci.buildbucket.agent.cipd_installation"
+        value: 0
+      }
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
       name: "Linux Staging Engine Drone"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:none"
@@ -200030,6 +200225,103 @@
       }
     }
     builders {
+      name: "Linux License"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cores:8"
+      dimensions: "device_type:none"
+      dimensions: "os:Ubuntu"
+      dimensions: "pool:luci.flutter.try"
+      exe {
+        cipd_package: "flutter/recipe_bundles/flutter.googlesource.com/recipes"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$fuchsia/goma": {'
+        '    "server": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog"'
+        '  },'
+        '  "$kitchen": {'
+        '    "emulate_gce": true'
+        '  },'
+        '  "$recipe_engine/isolated": {'
+        '    "server": "https://isolateserver.appspot.com"'
+        '  },'
+        '  "$recipe_engine/swarming": {'
+        '    "server": "https://chromium-swarm.appspot.com"'
+        '  },'
+        '  "add_recipes_cq": true,'
+        '  "bringup": true,'
+        '  "build_android_aot": false,'
+        '  "build_android_debug": false,'
+        '  "build_android_jit_release": false,'
+        '  "build_android_vulkan": false,'
+        '  "build_fuchsia": false,'
+        '  "build_host": false,'
+        '  "build_ios": false,'
+        '  "clobber": true,'
+        '  "cores": 8,'
+        '  "dependencies": ['
+        '    {'
+        '      "dependency": "open_jdk",'
+        '      "version": "version:1.8.0u202-b08"'
+        '    },'
+        '    {'
+        '      "dependency": "gradle_cache",'
+        '      "version": "none"'
+        '    }'
+        '  ],'
+        '  "device_type": "none",'
+        '  "gcs_goldens_bucket": "",'
+        '  "git_branch": "main",'
+        '  "git_repo": "engine",'
+        '  "gold_tryjob": true,'
+        '  "goma_jobs": "200",'
+        '  "ios_debug": false,'
+        '  "ios_profile": false,'
+        '  "ios_release": false,'
+        '  "mastername": "client.flutter",'
+        '  "no_bitcode": false,'
+        '  "no_lto": true,'
+        '  "os": "Ubuntu",'
+        '  "recipe": "engine/engine_license",'
+        '  "upload_packages": false,'
+        '  "use_cas": true'
+        '}'
+      execution_timeout_secs: 10800
+      caches {
+        name: "engine__builder"
+        path: "builder"
+      }
+      caches {
+        name: "engine__gradle_cache_none"
+        path: "gradle_cache"
+      }
+      caches {
+        name: "engine__open_jdk_version_1_8_0u202_b08"
+        path: "open_jdk"
+      }
+      caches {
+        name: "engine__open_jdk_version_1_8_0u202_b08_legacy"
+        path: "java"
+      }
+      caches {
+        name: "pub_cache"
+        path: ".pub-cache"
+      }
+      build_numbers: YES
+      service_account: "flutter-try-builder@chops-service-accounts.iam.gserviceaccount.com"
+      task_template_canary_percentage {}
+      experiments {
+        key: "luci.buildbucket.agent.cipd_installation"
+        value: 0
+      }
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
       name: "Linux SDK Drone"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "device_type:none"
diff --git a/config/generated/flutter/luci/luci-milo.cfg b/config/generated/flutter/luci/luci-milo.cfg
index fed8a1a..3fe115d 100644
--- a/config/generated/flutter/luci/luci-milo.cfg
+++ b/config/generated/flutter/luci/luci-milo.cfg
@@ -9693,6 +9693,9 @@
     name: "buildbucket/luci.flutter.try/Linux Unopt"
   }
   builders {
+    name: "buildbucket/luci.flutter.try/Linux License"
+  }
+  builders {
     name: "buildbucket/luci.flutter.try/Linux clang-tidy"
   }
   builders {
@@ -10070,6 +10073,11 @@
     short_name: "lu"
   }
   builders {
+    name: "buildbucket/luci.flutter.staging/Linux License"
+    category: "Linux"
+    short_name: "ll"
+  }
+  builders {
     name: "buildbucket/luci.flutter.staging/Linux clang-tidy"
     category: "Linux"
     short_name: "lc"
@@ -10303,6 +10311,11 @@
     short_name: "lu"
   }
   builders {
+    name: "buildbucket/luci.flutter.prod/Linux License"
+    category: "Linux"
+    short_name: "ll"
+  }
+  builders {
     name: "buildbucket/luci.flutter.prod/Linux clang-tidy"
     category: "Linux"
     short_name: "lc"
diff --git a/config/generated/flutter/luci/luci-notify.cfg b/config/generated/flutter/luci/luci-notify.cfg
index 5928fc2..ceb24c3 100644
--- a/config/generated/flutter/luci/luci-notify.cfg
+++ b/config/generated/flutter/luci/luci-notify.cfg
@@ -165,6 +165,21 @@
   }
   builders {
     bucket: "prod"
+    name: "Linux License"
+    repository: "https://flutter.googlesource.com/mirrors/engine"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    on_occurrence: FAILURE
+    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
+    email {
+      recipients: "flutter-engine@grotations.appspotmail.com"
+    }
+  }
+  builders {
+    bucket: "prod"
     name: "Linux Unopt"
     repository: "https://flutter.googlesource.com/mirrors/engine"
   }
@@ -720,6 +735,21 @@
   }
   builders {
     bucket: "staging"
+    name: "Linux License"
+    repository: "https://flutter.googlesource.com/mirrors/engine"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: INFRA_FAILURE
+    on_occurrence: FAILURE
+    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
+    email {
+      recipients: "flutter-engine@grotations.appspotmail.com"
+    }
+  }
+  builders {
+    bucket: "staging"
     name: "Linux Unopt"
     repository: "https://flutter.googlesource.com/mirrors/engine"
   }
diff --git a/config/generated/flutter/luci/project.cfg b/config/generated/flutter/luci/project.cfg
index 714bf9d..d07bda1 100644
--- a/config/generated/flutter/luci/project.cfg
+++ b/config/generated/flutter/luci/project.cfg
@@ -7,7 +7,7 @@
 name: "flutter"
 access: "group:all"
 lucicfg {
-  version: "1.31.2"
+  version: "1.31.3"
   package_dir: "../../.."
   config_dir: "generated/flutter/luci"
   entry_point: "main.star"