Skip to content
52 changes: 51 additions & 1 deletion .ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@ platform_properties:
linux:
properties:
os: Linux
linux_desktop:
properties:
os: Ubuntu
cores: "8"
device_type: none
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These three lines are copied from the config that seems to be running these tests in flutter/flutter.

dependencies: >-
[
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
{"dependency": "ninja", "version": "version:1.9.0"},
{"dependency": "curl", "version": "version:7.64.0"}
]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are copied from the flutter/flutter dependencies list of the desktop tests.

In flutter/flutter these are on targets, not in platform_properties, but since we'll need these in several tests I put them in a new configuration up here instead. Is that the right way to do it? Is there best practice/guidance on when to do configs vs duplicating in targets?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the preferred way to go. Define any shared properties in platform level if all tests need. If some specific test needs an extra property, then add that to the target level.

windows:
properties:
dependencies: >
Expand Down Expand Up @@ -48,7 +60,7 @@ platform_properties:
}

targets:
### Linux tasks ###
### Linux-host tasks ###
- name: Linux repo_tools_tests
recipe: packages/packages
timeout: 30
Expand All @@ -58,6 +70,44 @@ targets:
channel: master
version_file: flutter_master.version

### Linux desktop tasks
- name: Linux_desktop build_all_packages master
bringup: true # New target
recipe: packages/packages
timeout: 30
properties:
version_file: flutter_master.version
target_file: linux_build_all_packages.yaml
channel: master

- name: Linux_desktop build_all_packages stable
bringup: true # New target
recipe: packages/packages
timeout: 30
properties:
version_file: flutter_stable.version
target_file: linux_build_all_packages.yaml
channel: stable

- name: Linux_desktop platform_tests master
bringup: true # New target
recipe: packages/packages
timeout: 30
properties:
version_file: flutter_master.version
target_file: linux_platform_tests.yaml
channel: master

- name: Linux_desktop platform_tests stable
bringup: true # New target
recipe: packages/packages
presubmit: false
timeout: 30
properties:
version_file: flutter_stable.version
target_file: linux_platform_tests.yaml
channel: stable

### iOS+macOS tasks ###
# TODO(stuartmorgan): Move this to ARM once google_maps_flutter has ARM
# support. `pod lint` makes a synthetic target that doesn't respect the
Expand Down
11 changes: 11 additions & 0 deletions .ci/targets/linux_build_all_packages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
tasks:
- name: prepare tool
script: .ci/scripts/prepare_tool.sh
- name: create all_packages app
script: .ci/scripts/create_all_packages_app.sh
- name: build all_packages for Linux debug
script: .ci/scripts/build_all_packages_app.sh
args: ["linux", "debug"]
- name: build all_packages for Linux release
script: .ci/scripts/build_all_packages_app.sh
args: ["linux", "release"]
12 changes: 12 additions & 0 deletions .ci/targets/linux_platform_tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
tasks:
- name: prepare tool
script: .ci/scripts/prepare_tool.sh
- name: build examples
script: script/tool_runner.sh
args: ["build-examples", "--linux"]
- name: native test
script: script/tool_runner.sh
args: ["native-test", "--linux"]
- name: drive examples
script: script/tool_runner.sh
args: ["drive-examples", "--linux", "--exclude=script/configs/exclude_integration_linux.yaml"]