Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 22a709c

Browse files
[Fuchsia] Create dedicated testers to run tests and deprecate femu_test (#50697)
This change creates a fuchsia_profile_arm64_tester builder inside of the existing linux_fuchsia group. Comparing with fuchsia_profile_arm64, it uses `--no-lto` to limit the cost of compilation of test suites. Similar to the fuchsia_profile_x64, it runs release build test cases + aot test. E.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20Engine%20Drone/1998852/overview or more accurately https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8755990392554423809/+/u/test:_arm64_emulator_based_profile___aot_tests/stdout. The same approach also applied to other builders. Now each fuchsia builder has its own tester which compiles test cases without lto. The change reduces the time cost of linux_fuchsia to around 20 min, e.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_fuchsia/6662/overview After this change, linux_fuchsia group has a higher coverage than the combination of linux fuchsia emu + linux fuchsia emu arm64. So I removed both builders from the `.ci.yaml` as well. Bug: flutter/flutter#140179 [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
1 parent df70692 commit 22a709c

File tree

3 files changed

+200
-58
lines changed

3 files changed

+200
-58
lines changed

.ci.yaml

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -161,48 +161,6 @@ targets:
161161
config_name: linux_benchmarks
162162
timeout: 60
163163

164-
- name: Linux Fuchsia FEMU
165-
recipe: engine/femu_test
166-
properties:
167-
add_recipes_cq: "true"
168-
build_fuchsia: "true"
169-
fuchsia_ctl_version: version:0.0.27
170-
# ensure files from pre-production Fuchsia SDK tests are purged from cache
171-
clobber: "true"
172-
emulator_arch: "x64"
173-
enable_cso: "true"
174-
timeout: 60
175-
# TODO(https://github.com/flutter/flutter/issues/138559): Re-enable/delete.
176-
# runIfNot:
177-
# - lib/web_ui/**
178-
# - shell/platform/android/**
179-
# - shell/platform/darwin/**
180-
# - shell/platform/glfw/**
181-
# - shell/platform/linux/**
182-
# - shell/platform/windows/**
183-
# - web_sdk/**
184-
185-
- name: Linux Fuchsia arm64 FEMU
186-
recipe: engine/femu_test
187-
properties:
188-
build_fuchsia: "true"
189-
fuchsia_ctl_version: version:0.0.27
190-
# ensure files from pre-production Fuchsia SDK tests are purged from cache
191-
clobber: "true"
192-
emulator_arch: "arm64"
193-
enable_cso: "true"
194-
timeout: 60
195-
bringup: true
196-
# TODO(https://github.com/flutter/flutter/issues/138559): Re-enable/delete.
197-
# runIfNot:
198-
# - lib/web_ui/**
199-
# - shell/platform/android/**
200-
# - shell/platform/darwin/**
201-
# - shell/platform/glfw/**
202-
# - shell/platform/linux/**
203-
# - shell/platform/windows/**
204-
# - web_sdk/**
205-
206164
- name: Linux linux_fuchsia
207165
recipe: engine_v2/engine_v2
208166
timeout: 60

ci/builders/linux_fuchsia.json

Lines changed: 195 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
22
"builds": [
33
{
4-
"archives": [],
54
"drone_dimensions": [
65
"device_type=none",
76
"os=Linux"
@@ -25,7 +24,46 @@
2524
}
2625
},
2726
{
28-
"archives": [],
27+
"cas_archive": false,
28+
"drone_dimensions": [
29+
"device_type=none",
30+
"kvm=1",
31+
"os=Linux"
32+
],
33+
"gclient_variables": {
34+
"download_android_deps": false,
35+
"run_fuchsia_emu": true
36+
},
37+
"gn": [
38+
"--fuchsia",
39+
"--fuchsia-cpu",
40+
"arm64",
41+
"--runtime-mode",
42+
"profile",
43+
"--no-lto"
44+
],
45+
"name": "fuchsia_profile_arm64_tester",
46+
"ninja": {
47+
"config": "fuchsia_profile_arm64",
48+
"targets": [
49+
"flutter/shell/platform/fuchsia:fuchsia",
50+
"flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests",
51+
"fuchsia_tests"
52+
]
53+
},
54+
"tests": [
55+
{
56+
"name": "arm64 emulator based profile / aot tests",
57+
"language": "python3",
58+
"script": "flutter/tools/fuchsia/with_envs.py",
59+
"parameters": [
60+
"testing/fuchsia/run_tests.py",
61+
"fuchsia_profile_arm64"
62+
]
63+
}
64+
]
65+
},
66+
{
2967
"drone_dimensions": [
3068
"device_type=none",
3169
"os=Linux"
@@ -49,7 +87,7 @@
4987
}
5088
},
5189
{
52-
"archives": [],
90+
"cas_archive": false,
5391
"drone_dimensions": [
5492
"device_type=none",
5593
"kvm=1",
@@ -64,18 +102,53 @@
64102
"--fuchsia-cpu",
65103
"arm64",
66104
"--runtime-mode",
67-
"debug",
105+
"release",
68106
"--no-lto"
69107
],
70-
"name": "fuchsia_debug_arm64",
108+
"name": "fuchsia_release_arm64_tester",
71109
"ninja": {
72-
"config": "fuchsia_debug_arm64",
110+
"config": "fuchsia_release_arm64",
73111
"targets": [
74112
"flutter/shell/platform/fuchsia:fuchsia",
75113
"flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests",
76114
"fuchsia_tests"
77115
]
78116
},
117+
"tests": [
118+
{
119+
"name": "arm64 emulator based release tests",
120+
"language": "python3",
121+
"script": "flutter/tools/fuchsia/with_envs.py",
122+
"parameters": [
123+
"testing/fuchsia/run_tests.py",
124+
"fuchsia_release_arm64"
125+
]
126+
}
127+
]
128+
},
129+
{
130+
"drone_dimensions": [
131+
"device_type=none",
132+
"os=Linux"
133+
],
134+
"gclient_variables": {
135+
"download_android_deps": false
136+
},
137+
"gn": [
138+
"--fuchsia",
139+
"--fuchsia-cpu",
140+
"arm64",
141+
"--runtime-mode",
142+
"debug",
143+
"--no-lto"
144+
],
145+
"name": "fuchsia_debug_arm64",
146+
"ninja": {
147+
"config": "fuchsia_debug_arm64",
148+
"targets": [
149+
"flutter/shell/platform/fuchsia:fuchsia"
150+
]
151+
},
79152
"tests": [
80153
{
81154
"name": "Upload to Symbol Server for arch: arm64",
@@ -89,7 +162,38 @@
89162
"${REVISION}",
90163
"--upload"
91164
]
92-
},
165+
}
166+
]
167+
},
168+
{
169+
"cas_archive": false,
170+
"drone_dimensions": [
171+
"device_type=none",
172+
"kvm=1",
173+
"os=Linux"
174+
],
175+
"gclient_variables": {
176+
"download_android_deps": false,
177+
"run_fuchsia_emu": true
178+
},
179+
"gn": [
180+
"--fuchsia",
181+
"--fuchsia-cpu",
182+
"arm64",
183+
"--runtime-mode",
184+
"debug",
185+
"--no-lto"
186+
],
187+
"name": "fuchsia_debug_arm64_tester",
188+
"ninja": {
189+
"config": "fuchsia_debug_arm64",
190+
"targets": [
191+
"flutter/shell/platform/fuchsia:fuchsia",
192+
"flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests",
193+
"fuchsia_tests"
194+
]
195+
},
196+
"tests": [
93197
{
94198
"name": "arm64 emulator based debug tests",
95199
"language": "python3",
@@ -102,6 +206,30 @@
102206
]
103207
},
104208
{
209+
"drone_dimensions": [
210+
"device_type=none",
211+
"os=Linux"
212+
],
213+
"gclient_variables": {
214+
"download_android_deps": false
215+
},
216+
"gn": [
217+
"--fuchsia",
218+
"--fuchsia-cpu",
219+
"x64",
220+
"--runtime-mode",
221+
"profile"
222+
],
223+
"name": "fuchsia_profile_x64",
224+
"ninja": {
225+
"config": "fuchsia_profile_x64",
226+
"targets": [
227+
"flutter/shell/platform/fuchsia:fuchsia"
228+
]
229+
}
230+
},
231+
{
232+
"cas_archive": false,
105233
"drone_dimensions": [
106234
"device_type=none",
107235
"kvm=1",
@@ -119,7 +247,7 @@
119247
"profile",
120248
"--no-lto"
121249
],
122-
"name": "fuchsia_profile_x64",
250+
"name": "fuchsia_profile_x64_tester",
123251
"ninja": {
124252
"config": "fuchsia_profile_x64",
125253
"targets": [
@@ -141,6 +269,31 @@
141269
]
142270
},
143271
{
272+
"drone_dimensions": [
273+
"device_type=none",
274+
"os=Linux"
275+
],
276+
"gclient_variables": {
277+
"download_android_deps": false,
278+
"run_fuchsia_emu": true
279+
},
280+
"gn": [
281+
"--fuchsia",
282+
"--fuchsia-cpu",
283+
"x64",
284+
"--runtime-mode",
285+
"release"
286+
],
287+
"name": "fuchsia_release_x64",
288+
"ninja": {
289+
"config": "fuchsia_release_x64",
290+
"targets": [
291+
"flutter/shell/platform/fuchsia:fuchsia"
292+
]
293+
}
294+
},
295+
{
296+
"cas_archive": false,
144297
"drone_dimensions": [
145298
"device_type=none",
146299
"kvm=1",
@@ -158,7 +311,7 @@
158311
"release",
159312
"--no-lto"
160313
],
161-
"name": "fuchsia_release_x64",
314+
"name": "fuchsia_release_x64_tester",
162315
"ninja": {
163316
"config": "fuchsia_release_x64",
164317
"targets": [
@@ -182,7 +335,6 @@
182335
{
183336
"drone_dimensions": [
184337
"device_type=none",
185-
"kvm=1",
186338
"os=Linux"
187339
],
188340
"gclient_variables": {
@@ -201,9 +353,7 @@
201353
"ninja": {
202354
"config": "fuchsia_debug_x64",
203355
"targets": [
204-
"flutter/shell/platform/fuchsia:fuchsia",
205-
"flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests",
206-
"fuchsia_tests"
356+
"flutter/shell/platform/fuchsia:fuchsia"
207357
]
208358
},
209359
"tests": [
@@ -219,7 +369,38 @@
219369
"${REVISION}",
220370
"--upload"
221371
]
222-
},
372+
}
373+
]
374+
},
375+
{
376+
"cas_archive": false,
377+
"drone_dimensions": [
378+
"device_type=none",
379+
"kvm=1",
380+
"os=Linux"
381+
],
382+
"gclient_variables": {
383+
"download_android_deps": false,
384+
"run_fuchsia_emu": true
385+
},
386+
"gn": [
387+
"--fuchsia",
388+
"--fuchsia-cpu",
389+
"x64",
390+
"--runtime-mode",
391+
"debug",
392+
"--no-lto"
393+
],
394+
"name": "fuchsia_debug_x64_tester",
395+
"ninja": {
396+
"config": "fuchsia_debug_x64",
397+
"targets": [
398+
"flutter/shell/platform/fuchsia:fuchsia",
399+
"flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests",
400+
"fuchsia_tests"
401+
]
402+
},
403+
"tests": [
223404
{
224405
"name": "run_tests test",
225406
"script": "flutter/testing/fuchsia/run_tests_test.py"

testing/fuchsia/test_suites.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@
1515
package: display_list_tests-0.far
1616
- test_command: test run fuchsia-pkg://fuchsia.com/display_list_render_tests#meta/display_list_render_tests.cm
1717
package: display_list_render_tests-0.far
18+
disabled: on arm64 because of the slowness
1819
variant: x64
1920
- test_command: test run fuchsia-pkg://fuchsia.com/flow_tests#meta/flow_tests.cm
2021
package: flow_tests-0.far
2122
- test_command: test run fuchsia-pkg://fuchsia.com/runtime_tests#meta/runtime_tests.cm
2223
package: runtime_tests-0.far
23-
variant: debug
24+
disabled: on debug_arm64 because of the slowness
25+
variant: debug_x64
2426
- test_command: test run fuchsia-pkg://fuchsia.com/shell_tests#meta/shell_tests.cm
2527
package: shell_tests-0.far
2628
variant: debug_x64
@@ -31,7 +33,8 @@
3133
variant: debug
3234
- test_command: test run fuchsia-pkg://fuchsia.com/ui_tests#meta/ui_tests.cm
3335
package: ui_tests-0.far
34-
variant: debug
36+
disabled: on debug_arm64 because of the slowness
37+
variant: debug_x64
3538
- test_command: test run fuchsia-pkg://fuchsia.com/embedder_tests#meta/embedder_tests.cm
3639
package: embedder_tests-0.far
3740
variant: debug_x64

0 commit comments

Comments
 (0)