mirror of
https://github.com/flutter/packages.git
synced 2025-06-30 23:03:11 +08:00
[ci] Introduce LUCI versions of Linux desktop platform tests (#4223)
Adds scripts and LUCI targets for the Linux desktop platform test tasks, corresponding to the Cirrus linux-platform_test tasks. Part of https://github.com/flutter/flutter/issues/114373
This commit is contained in:
29
.ci.yaml
29
.ci.yaml
@ -498,6 +498,35 @@ targets:
|
|||||||
target_file: linux_build_all_packages.yaml
|
target_file: linux_build_all_packages.yaml
|
||||||
channel: stable
|
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
|
||||||
|
# Install Chrome as a default handler for schemes for url_launcher.
|
||||||
|
dependencies: >-
|
||||||
|
[
|
||||||
|
{"dependency": "chrome_and_driver", "version": "version:114.0"}
|
||||||
|
]
|
||||||
|
|
||||||
|
- 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
|
||||||
|
# Install Chrome as a default handler for schemes for url_launcher.
|
||||||
|
dependencies: >-
|
||||||
|
[
|
||||||
|
{"dependency": "chrome_and_driver", "version": "version:114.0"}
|
||||||
|
]
|
||||||
|
|
||||||
### iOS+macOS tasks ###
|
### iOS+macOS tasks ###
|
||||||
# TODO(stuartmorgan): Move this to ARM once google_maps_flutter has ARM
|
# TODO(stuartmorgan): Move this to ARM once google_maps_flutter has ARM
|
||||||
# support. `pod lint` makes a synthetic target that doesn't respect the
|
# support. `pod lint` makes a synthetic target that doesn't respect the
|
||||||
|
33
.ci/scripts/set_default_linux_apps.sh
Executable file
33
.ci/scripts/set_default_linux_apps.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright 2013 The Flutter Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Set up a .desktop file pointing to the CIPD-installed Chrome.
|
||||||
|
readonly LOCAL_DESKTOP_FILE_DIR=~/.local/share/applications
|
||||||
|
mkdir -p "${LOCAL_DESKTOP_FILE_DIR}"
|
||||||
|
readonly DESKTOP_FILE_NAME=cipd-chrome.desktop
|
||||||
|
readonly CIPD_CHROME_DESKTOP_FILE="${LOCAL_DESKTOP_FILE_DIR}/${DESKTOP_FILE_NAME}"
|
||||||
|
cat << EOF > "${CIPD_CHROME_DESKTOP_FILE}"
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=Google Chrome
|
||||||
|
GenericName=Web Browser
|
||||||
|
Comment=Access the Internet
|
||||||
|
Exec=${CHROME_EXECUTABLE} %U
|
||||||
|
StartupNotify=true
|
||||||
|
Terminal=false
|
||||||
|
Icon=google-chrome
|
||||||
|
Type=Application
|
||||||
|
Categories=Network;WebBrowser;
|
||||||
|
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/file;
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Enable xdg-* commands to work correctly.
|
||||||
|
export DESKTOP_SESSION=gnome
|
||||||
|
|
||||||
|
# Set Chrome as the default handler for http, https, and file, for url_launcher
|
||||||
|
# tests that expect handlers for those schemes.
|
||||||
|
xdg-mime default "${DESKTOP_FILE_NAME}" inode/directory
|
||||||
|
xdg-settings set default-web-browser "${DESKTOP_FILE_NAME}"
|
7
.ci/scripts/xvfb_tool_runner.sh
Executable file
7
.ci/scripts/xvfb_tool_runner.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright 2013 The Flutter Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
xvfb-run ./script/tool_runner.sh "$@"
|
14
.ci/targets/linux_platform_tests.yaml
Normal file
14
.ci/targets/linux_platform_tests.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
tasks:
|
||||||
|
- name: prepare tool
|
||||||
|
script: .ci/scripts/prepare_tool.sh
|
||||||
|
- name: set default apps
|
||||||
|
script: .ci/scripts/set_default_linux_apps.sh
|
||||||
|
- name: build examples
|
||||||
|
script: script/tool_runner.sh
|
||||||
|
args: ["build-examples", "--linux"]
|
||||||
|
- name: native test
|
||||||
|
script: .ci/scripts/xvfb_tool_runner.sh
|
||||||
|
args: ["native-test", "--linux"]
|
||||||
|
- name: drive examples
|
||||||
|
script: .ci/scripts/xvfb_tool_runner.sh
|
||||||
|
args: ["drive-examples", "--linux", "--exclude=script/configs/exclude_integration_linux.yaml"]
|
Reference in New Issue
Block a user