mirror of
https://github.com/flutter/packages.git
synced 2025-07-04 01:33:59 +08:00
[ci] Enable the all_packages tasks (#2724)
This commit is contained in:
28
.ci.yaml
28
.ci.yaml
@ -75,6 +75,34 @@ targets:
|
|||||||
{"dependency": "vs_build", "version": "version:vs2019"}
|
{"dependency": "vs_build", "version": "version:vs2019"}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
- name: Windows windows-build_all_packages master
|
||||||
|
bringup: true
|
||||||
|
recipe: packages/packages
|
||||||
|
timeout: 30
|
||||||
|
properties:
|
||||||
|
add_recipes_cq: "true"
|
||||||
|
target_file: build_all_packages.yaml
|
||||||
|
channel: master
|
||||||
|
version_file: flutter_master.version
|
||||||
|
dependencies: >
|
||||||
|
[
|
||||||
|
{"dependency": "vs_build", "version": "version:vs2019"}
|
||||||
|
]
|
||||||
|
|
||||||
|
- name: Windows windows-build_all_packages stable
|
||||||
|
bringup: true
|
||||||
|
recipe: packages/packages
|
||||||
|
timeout: 30
|
||||||
|
properties:
|
||||||
|
add_recipes_cq: "true"
|
||||||
|
target_file: build_all_packages.yaml
|
||||||
|
channel: stable
|
||||||
|
version_file: flutter_stable.version
|
||||||
|
dependencies: >
|
||||||
|
[
|
||||||
|
{"dependency": "vs_build", "version": "version:vs2019"}
|
||||||
|
]
|
||||||
|
|
||||||
- name: Linux ci_yaml packages roller
|
- name: Linux ci_yaml packages roller
|
||||||
recipe: infra/ci_yaml
|
recipe: infra/ci_yaml
|
||||||
timeout: 30
|
timeout: 30
|
||||||
|
8
.ci/scripts/build_all_packages_app.sh
Normal file
8
.ci/scripts/build_all_packages_app.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/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.
|
||||||
|
|
||||||
|
cd all_plugins
|
||||||
|
flutter build windows --debug
|
||||||
|
flutter build windows --release
|
7
.ci/scripts/create_all_packages_app.sh
Normal file
7
.ci/scripts/create_all_packages_app.sh
Normal 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.
|
||||||
|
|
||||||
|
dart pub global run flutter_plugin_tools all-plugins-app \
|
||||||
|
--output-dir=. --exclude script/configs/exclude_all_packages_app.yaml
|
7
.ci/targets/build_all_packages.yaml
Normal file
7
.ci/targets/build_all_packages.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
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 app
|
||||||
|
script: .ci/scripts/build_all_packages_app.sh
|
96
.cirrus.yml
96
.cirrus.yml
@ -62,6 +62,22 @@ flutter_upgrade_template: &FLUTTER_UPGRADE_TEMPLATE
|
|||||||
- flutter doctor -v
|
- flutter doctor -v
|
||||||
<< : *TOOL_SETUP_TEMPLATE
|
<< : *TOOL_SETUP_TEMPLATE
|
||||||
|
|
||||||
|
# Ensures that the latest versions of all of the 1P packages can be used
|
||||||
|
# together. See script/configs/exclude_all_packages_app.yaml for exceptions.
|
||||||
|
build_all_packages_app_template: &BUILD_ALL_PACKAGES_APP_TEMPLATE
|
||||||
|
create_all_packages_app_script:
|
||||||
|
- $PLUGIN_TOOL_COMMAND all-plugins-app --output-dir=. --exclude script/configs/exclude_all_packages_app.yaml
|
||||||
|
build_all_packages_debug_script:
|
||||||
|
- cd all_plugins
|
||||||
|
- if [[ "$BUILD_ALL_ARGS" == "web" ]]; then
|
||||||
|
- echo "Skipping; web does not support debug builds"
|
||||||
|
- else
|
||||||
|
- flutter build $BUILD_ALL_ARGS --debug
|
||||||
|
- fi
|
||||||
|
build_all_packages_release_script:
|
||||||
|
- cd all_plugins
|
||||||
|
- flutter build $BUILD_ALL_ARGS --release
|
||||||
|
|
||||||
# Light-workload Linux tasks.
|
# Light-workload Linux tasks.
|
||||||
# These use default machines, with fewer CPUs, to reduce pressure on the
|
# These use default machines, with fewer CPUs, to reduce pressure on the
|
||||||
# concurrency limits.
|
# concurrency limits.
|
||||||
@ -188,6 +204,22 @@ task:
|
|||||||
- else
|
- else
|
||||||
- ./script/tool_runner.sh custom-test --exclude=pigeon,flutter_image
|
- ./script/tool_runner.sh custom-test --exclude=pigeon,flutter_image
|
||||||
- fi
|
- fi
|
||||||
|
### Web tasks ###
|
||||||
|
- name: web-build_all_packages
|
||||||
|
env:
|
||||||
|
BUILD_ALL_ARGS: "web"
|
||||||
|
matrix:
|
||||||
|
CHANNEL: "master"
|
||||||
|
CHANNEL: "stable"
|
||||||
|
<< : *BUILD_ALL_PACKAGES_APP_TEMPLATE
|
||||||
|
### Linux desktop tasks ###
|
||||||
|
- name: linux-build_all_packages
|
||||||
|
env:
|
||||||
|
BUILD_ALL_ARGS: "linux"
|
||||||
|
matrix:
|
||||||
|
CHANNEL: "master"
|
||||||
|
CHANNEL: "stable"
|
||||||
|
<< : *BUILD_ALL_PACKAGES_APP_TEMPLATE
|
||||||
|
|
||||||
# Heavy-workload Linux tasks.
|
# Heavy-workload Linux tasks.
|
||||||
# These use machines with more CPUs and memory, so will reduce parallelization
|
# These use machines with more CPUs and memory, so will reduce parallelization
|
||||||
@ -221,6 +253,13 @@ task:
|
|||||||
- ./script/tool_runner.sh build-examples --apk --exclude=extension_google_sign_in_as_googleapis_auth
|
- ./script/tool_runner.sh build-examples --apk --exclude=extension_google_sign_in_as_googleapis_auth
|
||||||
native_unit_test_scipt:
|
native_unit_test_scipt:
|
||||||
- ./script/tool_runner.sh native-test --android --no-integration
|
- ./script/tool_runner.sh native-test --android --no-integration
|
||||||
|
- name: android-build_all_packages
|
||||||
|
env:
|
||||||
|
BUILD_ALL_ARGS: "apk"
|
||||||
|
matrix:
|
||||||
|
CHANNEL: "master"
|
||||||
|
CHANNEL: "stable"
|
||||||
|
<< : *BUILD_ALL_PACKAGES_APP_TEMPLATE
|
||||||
### Web tasks ###
|
### Web tasks ###
|
||||||
- name: web-platform_tests
|
- name: web-platform_tests
|
||||||
env:
|
env:
|
||||||
@ -268,22 +307,6 @@ task:
|
|||||||
<< : *FLUTTER_UPGRADE_TEMPLATE
|
<< : *FLUTTER_UPGRADE_TEMPLATE
|
||||||
<< : *MACOS_ARM_TEMPLATE
|
<< : *MACOS_ARM_TEMPLATE
|
||||||
matrix:
|
matrix:
|
||||||
### iOS tasks ###
|
|
||||||
- name: ios-platform_tests
|
|
||||||
# Don't run full platform tests on both channels in pre-submit.
|
|
||||||
skip: $CIRRUS_PR != '' && $CHANNEL == 'stable'
|
|
||||||
env:
|
|
||||||
PATH: $PATH:/usr/local/bin
|
|
||||||
matrix:
|
|
||||||
CHANNEL: "master"
|
|
||||||
CHANNEL: "stable"
|
|
||||||
create_simulator_script:
|
|
||||||
- xcrun simctl list
|
|
||||||
- xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-13 com.apple.CoreSimulator.SimRuntime.iOS-16-0 | xargs xcrun simctl boot
|
|
||||||
build_script:
|
|
||||||
- ./script/tool_runner.sh build-examples --ios
|
|
||||||
native_test_script:
|
|
||||||
- ./script/tool_runner.sh native-test --ios --ios-destination "platform=iOS Simulator,name=iPhone 13,OS=latest"
|
|
||||||
- name: macos-custom_package_tests
|
- name: macos-custom_package_tests
|
||||||
# Run on macOS x64 image with Java runtime installed.
|
# Run on macOS x64 image with Java runtime installed.
|
||||||
env:
|
env:
|
||||||
@ -301,6 +324,30 @@ task:
|
|||||||
- else
|
- else
|
||||||
- ./script/tool_runner.sh custom-test --exclude=flutter_image,script/configs/linux_only_custom_test.yaml
|
- ./script/tool_runner.sh custom-test --exclude=flutter_image,script/configs/linux_only_custom_test.yaml
|
||||||
- fi
|
- fi
|
||||||
|
### iOS tasks ###
|
||||||
|
- name: ios-platform_tests
|
||||||
|
# Don't run full platform tests on both channels in pre-submit.
|
||||||
|
skip: $CIRRUS_PR != '' && $CHANNEL == 'stable'
|
||||||
|
env:
|
||||||
|
PATH: $PATH:/usr/local/bin
|
||||||
|
matrix:
|
||||||
|
CHANNEL: "master"
|
||||||
|
CHANNEL: "stable"
|
||||||
|
create_simulator_script:
|
||||||
|
- xcrun simctl list
|
||||||
|
- xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-13 com.apple.CoreSimulator.SimRuntime.iOS-16-0 | xargs xcrun simctl boot
|
||||||
|
build_script:
|
||||||
|
- ./script/tool_runner.sh build-examples --ios
|
||||||
|
native_test_script:
|
||||||
|
- ./script/tool_runner.sh native-test --ios --ios-destination "platform=iOS Simulator,name=iPhone 13,OS=latest"
|
||||||
|
### iOS tasks ###
|
||||||
|
- name: ios-build_all_packages
|
||||||
|
env:
|
||||||
|
BUILD_ALL_ARGS: "ios --no-codesign"
|
||||||
|
matrix:
|
||||||
|
CHANNEL: "master"
|
||||||
|
CHANNEL: "stable"
|
||||||
|
<< : *BUILD_ALL_PACKAGES_APP_TEMPLATE
|
||||||
### macOS desktop tasks ###
|
### macOS desktop tasks ###
|
||||||
- name: macos-platform_tests
|
- name: macos-platform_tests
|
||||||
# Don't run full platform tests on both channels in pre-submit.
|
# Don't run full platform tests on both channels in pre-submit.
|
||||||
@ -314,3 +361,20 @@ task:
|
|||||||
- ./script/tool_runner.sh build-examples --macos
|
- ./script/tool_runner.sh build-examples --macos
|
||||||
native_test_script:
|
native_test_script:
|
||||||
- ./script/tool_runner.sh native-test --macos
|
- ./script/tool_runner.sh native-test --macos
|
||||||
|
|
||||||
|
# Intel macOS tasks.
|
||||||
|
task:
|
||||||
|
<< : *MACOS_INTEL_TEMPLATE
|
||||||
|
<< : *FLUTTER_UPGRADE_TEMPLATE
|
||||||
|
matrix:
|
||||||
|
### macOS desktop tasks ###
|
||||||
|
# macos-platform_tests builds all the packages on ARM, so this build is run
|
||||||
|
# on Intel to give us build coverage of both host types.
|
||||||
|
- name: macos-build_all_packages
|
||||||
|
env:
|
||||||
|
BUILD_ALL_ARGS: "macos"
|
||||||
|
matrix:
|
||||||
|
CHANNEL: "master"
|
||||||
|
CHANNEL: "stable"
|
||||||
|
setup_script:
|
||||||
|
<< : *BUILD_ALL_PACKAGES_APP_TEMPLATE
|
||||||
|
10
script/configs/exclude_all_packages_app.yaml
Normal file
10
script/configs/exclude_all_packages_app.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# This list should be kept as short as possible, and things should remain here
|
||||||
|
# only as long as necessary, since in general the goal is for all of the latest
|
||||||
|
# versions of packages to be mutually compatible.
|
||||||
|
#
|
||||||
|
# An example use case for this list would be to temporarily add packages while
|
||||||
|
# updating multiple packages for a breaking change in a common dependency in
|
||||||
|
# cases where using a relaxed version constraint isn't possible.
|
||||||
|
|
||||||
|
# This is a permament entry, as it should never be a direct app dependency.
|
||||||
|
- plugin_platform_interface
|
Reference in New Issue
Block a user