|
1 | 1 | gcp_credentials: ENCRYPTED[987a78af29b91ce8489594c9ab3fec21845bbe5ba68294b8f6def3cf0d380830f06687a89ea69c87344c5ade369700fe] |
2 | 2 |
|
| 3 | +# LINUX |
3 | 4 | task: |
4 | 5 | gke_container: |
5 | | - image: gcr.io/flutter-cirrus/build-engine-image:latest |
6 | | - cluster_name: build-32-cluster |
7 | | - zone: us-central1-a |
8 | | - namespace: default |
9 | | - cpu: 30 # can't use all 30-cores; system pods needs cores too |
10 | | - memory: 100Gb # similarly, can't use all 100Gb memory |
| 6 | + dockerfile: "ci/docker/build/Dockerfile" |
| 7 | + builder_image_name: docker-builder # gce vm image |
| 8 | + cluster_name: build-32-cluster |
| 9 | + zone: us-central1-a |
| 10 | + namespace: default |
| 11 | + cpu: 30 # can't use all 30-cores; system pods needs cores too |
| 12 | + memory: 100Gb # similarly, can't use all 100Gb memory |
11 | 13 | env: |
| 14 | + CIRRUS_DOCKER_CONTEXT: "ci/docker/build" |
12 | 15 | CIRRUS_WORKING_DIR: "/tmp/github_repo" |
13 | 16 | ENGINE_PATH: "/tmp/clean_engine" |
14 | 17 | DEPOT_TOOLS: "/tmp/depot_tools" |
15 | 18 | FLUTTER_ENGINE: "/tmp/clean_engine/src" |
16 | 19 | FRAMEWORK_PATH: "/tmp/master_framework" |
17 | 20 | PATH: "$FLUTTER_ENGINE/third_party/dart/tools/sdks/dart-sdk/bin:$DEPOT_TOOLS:$PATH" |
18 | | - depot_tools_script: |
| 21 | + USE_ANDROID: "False" |
| 22 | + # TODO(liyuqian): currently we're using flutter-cirrus GCP project. Migrate |
| 23 | + # to flutter-infra project once the metrics_center service is stabilized, |
| 24 | + BENCHMARK_GCP_CREDENTIALS: ENCRYPTED[da76d2b7b39894de70fae1fc9182c97cc41400adc93f0f1c49bc7442f15fb933da8d756ed88523810a9a77c34f51a693] |
| 25 | + setup_script: | |
19 | 26 | git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git $DEPOT_TOOLS |
20 | | - gclient_sync_script: | |
21 | 27 | mkdir -p $ENGINE_PATH/src |
22 | | - echo 'solutions = [{"managed": False,"name": "src/flutter","url": "git@github.com:flutter/engine.git","deps_file": "DEPS", "custom_vars": {"download_android_deps" : False, "download_windows_deps" : False,},},]' > $ENGINE_PATH/.gclient |
| 28 | + echo 'solutions = [{"managed": False,"name": "src/flutter","url": "git@github.com:flutter/engine.git","deps_file": "DEPS", "custom_vars": {"download_android_deps" : ' $USE_ANDROID ', "download_windows_deps" : False,},},]' > $ENGINE_PATH/.gclient |
23 | 29 | cd $ENGINE_PATH/src |
24 | 30 | rm -rf flutter |
25 | 31 | rm -rf out |
26 | 32 | mv $CIRRUS_WORKING_DIR flutter |
27 | 33 | gclient sync |
28 | | -
|
29 | 34 | matrix: |
30 | | - - name: build_and_test_host |
| 35 | + # The following test depends on Flutter framework repo. It may fail if the |
| 36 | + # framework repo is currently broken. |
| 37 | + - name: build_and_test_linux_unopt_debug |
31 | 38 | compile_host_script: | |
32 | 39 | cd $ENGINE_PATH/src |
33 | | - ./flutter/tools/gn --unoptimized |
| 40 | + ./flutter/tools/gn --unoptimized --full-dart-sdk |
34 | 41 | ninja -C out/host_debug_unopt |
35 | | - test_host_script: cd $ENGINE_PATH/src && ./flutter/testing/run_tests.sh host_debug_unopt |
| 42 | + test_host_script: | |
| 43 | + cd $ENGINE_PATH/src |
| 44 | + ./flutter/testing/run_tests.sh host_debug_unopt |
36 | 45 | fetch_framework_script: | |
37 | 46 | mkdir -p $FRAMEWORK_PATH |
38 | 47 | cd $FRAMEWORK_PATH |
39 | 48 | git clone https://github.com/flutter/flutter.git |
40 | | - framework_test_script: | |
| 49 | + analyze_framework_script: | |
| 50 | + cd $FRAMEWORK_PATH/flutter |
| 51 | + rm -rf bin/cache/pkg/sky_engine |
| 52 | + mkdir -p bin/cache/pkg/ |
| 53 | + cp -r $ENGINE_PATH/src/out/host_debug_unopt/gen/dart-pkg/sky_engine bin/cache/pkg/ |
| 54 | + bin/flutter update-packages --local-engine=host_debug_unopt |
| 55 | + bin/flutter analyze --dartdocs --flutter-repo --local-engine=host_debug_unopt |
| 56 | + test_framework_script: | |
41 | 57 | cd $FRAMEWORK_PATH/flutter/packages/flutter |
42 | | - ../../bin/flutter test --local-engine=host_debug_unopt |
43 | | - - name: build_and_test_host_profile |
44 | | - compile_host_script: | |
45 | | - cd $ENGINE_PATH/src |
46 | | - ./flutter/tools/gn --runtime-mode profile --no-lto |
47 | | - ninja -C out/host_profile |
48 | | - test_host_script: cd $ENGINE_PATH/src && ./flutter/testing/run_tests.sh host_profile |
49 | | - - name: build_and_test_host_release |
50 | | - compile_host_script: | |
51 | | - cd $ENGINE_PATH/src |
52 | | - ./flutter/tools/gn --runtime-mode release --no-lto |
53 | | - ninja -C out/host_release |
54 | | - test_host_script: cd $ENGINE_PATH/src && ./flutter/testing/run_tests.sh host_release |
55 | | - - name: build_android |
56 | | - get_android_sdk_script: | |
57 | | - echo 'solutions = [{"managed": False,"name": "src/flutter","url": "git@github.com:flutter/engine.git","deps_file": "DEPS", "custom_vars": {"download_windows_deps" : False,},},]' > $ENGINE_PATH/.gclient |
58 | | - cd $ENGINE_PATH/src |
59 | | - gclient sync |
60 | | - lint_host_script: | |
61 | | - cd $ENGINE_PATH/src/flutter/tools/android_lint |
62 | | - $ENGINE_PATH/src/third_party/dart/tools/sdks/dart-sdk/bin/pub get |
63 | | - $ENGINE_PATH/src/third_party/dart/tools/sdks/dart-sdk/bin/dart bin/main.dart |
64 | | - compile_host_script: | |
65 | | - cd $ENGINE_PATH/src |
66 | | - ./flutter/tools/gn --android --unoptimized |
67 | | - ninja -C out/android_debug_unopt |
68 | | - mkdir javadoc_tmp |
69 | | - ./flutter/tools/gen_javadoc.py --out-dir javadoc_tmp |
70 | | - - name: format_and_dart_test |
71 | | - format_script: cd $ENGINE_PATH/src/flutter && ./ci/format.sh |
72 | | - build_script: cd $ENGINE_PATH/src/flutter && ./ci/build.sh |
73 | | - |
74 | | -task: |
75 | | - gce_instance: |
76 | | - image_project: flutter-cirrus |
77 | | - image_name: flutter-engine-windows-server-2016-core |
78 | | - zone: us-central1-a |
79 | | - platform: windows |
80 | | - cpu: 32 |
81 | | - memory: 32Gb |
82 | | - disk: 50 |
83 | | - |
84 | | - env: |
85 | | - # Cirrus is somehow not picking up the environment variables set in the VM image. |
86 | | - PATH: "c:/depot_tools;c:/MinGit/cmd;$PATH" |
87 | | - DEPOT_TOOLS_WIN_TOOLCHAIN: 0 |
88 | | - GYP_MSVS_OVERRIDE_PATH: "c:/Program Files (x86)/Microsoft Visual Studio/2017/Community" |
89 | | - |
90 | | - ENGINE_PATH: "c:/flutter/engine" |
91 | | - |
92 | | - # robocopy can return 1 for successful copy; suppress its error code. |
93 | | - # move somehow doesn't work as it complains that the file is being used by another process. |
94 | | - gclient_sync_script: | |
95 | | - robocopy %CIRRUS_WORKING_DIR% %ENGINE_PATH%/src/flutter /MIR || (cmd /s /c exit /b 0) |
96 | | - cd %ENGINE_PATH%/src |
97 | | - gclient sync |
98 | | -
|
99 | | - matrix: |
100 | | - - name: build_windows_debug |
101 | | - compile_host_script: | |
102 | | - cd %ENGINE_PATH%/src |
103 | | - python flutter/tools/gn --runtime-mode debug --unoptimized |
104 | | - ninja -C out/host_debug_unopt |
105 | | -
|
106 | | - - name: build_windows_debug_unopt |
107 | | - compile_host_script: | |
108 | | - cd %ENGINE_PATH%/src |
109 | | - python flutter/tools/gn --runtime-mode debug |
110 | | - ninja -C out/host_debug |
| 58 | + ../../bin/flutter test --local-engine=host_debug_unopt --null-assertions --sound-null-safety --enable-experiment=non-nullable |
| 59 | + # TODO(fujino): remove this once ci/licenses.sh is run on LUCI |
| 60 | + - name: licenses_check |
| 61 | + build_script: | |
| 62 | + cd $ENGINE_PATH/src/flutter |
| 63 | + ./ci/licenses.sh |
0 commit comments