Skip to content

Commit 0739951

Browse files
authored
Adds a new CI build for Linux host DDM-enabled artifacts (flutter#177252)
Work towards [b/452833651](b/452833651). This adds a new flavor of linux_host_engine, which enables the DDM build flag with the goal of building a flutter_tester binary that supports loading DDMs in tests. Tested locally via `et build --config ci/host_debug_ddm`. This roughly follows flutter#168717, which added a similar DDM-enabled build for iOS. I've branched this off the `linux_host_engine.json`, added the build flag for DDM support, and removed things we don't need.
1 parent 9858bab commit 0739951

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

engine/src/flutter/.ci.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,28 @@ targets:
231231
# at https://github.com/flutter/flutter/issues/152186.
232232
cores: "8"
233233

234+
- name: Linux linux_host_engine_ddm
235+
recipe: engine_v2/engine_v2
236+
bringup: true
237+
backfill: false
238+
timeout: 120
239+
enabled_branches:
240+
# Don't run this on release branches
241+
- master
242+
properties:
243+
add_recipes_cq: "true"
244+
config_name: linux_host_engine_ddm
245+
# Do not remove(https://github.com/flutter/flutter/issues/144644)
246+
# Scheduler will fail to get the platform
247+
drone_dimensions:
248+
- os=Linux
249+
dimensions:
250+
# This is needed so that orchestrators that only spawn subbuilds are not
251+
# assigned to the large 32 core workers when doing release builds.
252+
# For more details see the issue
253+
# at https://github.com/flutter/flutter/issues/152186.
254+
cores: "8"
255+
234256
- name: Linux linux_host_engine_test
235257
recipe: engine_v2/engine_v2
236258
timeout: 120
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"_comment": [
3+
"The builds defined in this file should not contain tests, ",
4+
"and the file should not contain builds that are essentially tests. ",
5+
"The only builds in this file should be the builds necessary to produce ",
6+
"release artifacts. ",
7+
"Tests to run on linux hosts should go in one of the other linux_ build ",
8+
"definition files."
9+
],
10+
"luci_flags": {
11+
"upload_content_hash": true
12+
},
13+
"builds": [
14+
{
15+
"archives": [
16+
{
17+
"name": "ci/host_debug_ddm",
18+
"base_path": "out/ci/host_debug_ddm/zip_archives/",
19+
"type": "gcs",
20+
"include_paths": [
21+
"out/ci/host_debug_ddm/zip_archives/linux-x64-ddm/artifacts.zip"
22+
],
23+
"realm": "production"
24+
}
25+
],
26+
"drone_dimensions": [
27+
"device_type=none",
28+
"os=Linux"
29+
],
30+
"gclient_variables": {
31+
"download_android_deps": false,
32+
"download_jdk": false,
33+
"use_rbe": true
34+
},
35+
"gn": [
36+
"--target-dir",
37+
"ci/host_debug_ddm",
38+
"--runtime-mode",
39+
"debug",
40+
"--prebuilt-dart-sdk",
41+
"--rbe",
42+
"--no-goma",
43+
"--gn-args=dart_dynamic_modules=true"
44+
],
45+
"name": "ci/host_debug_ddm",
46+
"description": "Produces debug mode Linux host-side tooling with dynamic modules enabled.",
47+
"ninja": {
48+
"config": "ci/host_debug_ddm",
49+
"targets": [
50+
"flutter/build/archives:artifacts"
51+
]
52+
}
53+
}
54+
]
55+
}

0 commit comments

Comments
 (0)