[ci] Enable the all_packages tasks (#2724)

This commit is contained in:
stuartmorgan
2022-10-31 07:46:50 -07:00
committed by GitHub
parent c477caa30b
commit debcfa3524
6 changed files with 140 additions and 16 deletions

View File

@ -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

View 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

View 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

View 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

View File

@ -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

View 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