From 05bcffa29579a921538f1af49be41c8b9d6a460c Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Wed, 6 Oct 2021 11:47:22 -0400 Subject: [PATCH] [ci] Initial setup for Windows LUCI bots (#478) Creates an initial set of scripts to do minimal testing on Windows, and builders to run those scripts. The recipe the builders reference does not currently exist, but will be brought up in parallel. This follows exactly the same structure that was successfully deployed to flutter/plugins. --- .ci.yaml | 40 +++++++++++++++++++ .ci/scripts/build_examples_win32.sh | 7 ++++ .ci/scripts/native_test_win32.sh | 7 ++++ .ci/scripts/prepare_tool.sh | 11 +++++ .../windows_build_and_platform_tests.yaml | 7 ++++ .cirrus.yml | 5 +-- 6 files changed, 73 insertions(+), 4 deletions(-) create mode 100755 .ci/scripts/build_examples_win32.sh create mode 100755 .ci/scripts/native_test_win32.sh create mode 100755 .ci/scripts/prepare_tool.sh create mode 100644 .ci/targets/windows_build_and_platform_tests.yaml diff --git a/.ci.yaml b/.ci.yaml index b11b2d7a45..c54943d99b 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -14,8 +14,48 @@ platform_properties: properties: fuchsia_ctl_version: "" os: Linux + windows: + properties: + caches: >- + [ + {"name": "vsbuild", "path": "vsbuild"}, + {"name": "pub_cache", "path": ".pub-cache"} + ] + dependencies: > + [ + {"dependency": "certs"} + ] + device_type: none + os: Windows targets: + - name: Windows win32-platform_tests master + bringup: true + recipe: packages/packages + timeout: 30 + properties: + add_recipes_cq: "true" + target_file: windows_build_and_platform_tests.yaml + dependencies: > + [ + {"dependency": "vs_build"} + ] + scheduler: luci + + - name: Windows win32-platform_tests stable + bringup: true + recipe: packages/packages + timeout: 30 + properties: + add_recipes_cq: "true" + target_file: windows_build_and_platform_tests.yaml + channel: stable + dependencies: > + [ + {"dependency": "vs_build"} + ] + scheduler: luci + - name: Linux fuchsia_ctl postsubmit: false recipe: fuchsia_ctl diff --git a/.ci/scripts/build_examples_win32.sh b/.ci/scripts/build_examples_win32.sh new file mode 100755 index 0000000000..d4614a6947 --- /dev/null +++ b/.ci/scripts/build_examples_win32.sh @@ -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 build-examples --windows \ + --packages-for-branch diff --git a/.ci/scripts/native_test_win32.sh b/.ci/scripts/native_test_win32.sh new file mode 100755 index 0000000000..20b92d0c08 --- /dev/null +++ b/.ci/scripts/native_test_win32.sh @@ -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 native-test --windows \ + --no-integration --packages-for-branch diff --git a/.ci/scripts/prepare_tool.sh b/.ci/scripts/prepare_tool.sh new file mode 100755 index 0000000000..b18bbb1dba --- /dev/null +++ b/.ci/scripts/prepare_tool.sh @@ -0,0 +1,11 @@ +#!/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. + +# To set FETCH_HEAD for "git merge-base" to work +git fetch origin master + +# Pinned version of the plugin tools, to avoid breakage in this repository +# when pushing updates from flutter/plugins. +dart pub global activate flutter_plugin_tools 0.7.1 diff --git a/.ci/targets/windows_build_and_platform_tests.yaml b/.ci/targets/windows_build_and_platform_tests.yaml new file mode 100644 index 0000000000..20d5c43897 --- /dev/null +++ b/.ci/targets/windows_build_and_platform_tests.yaml @@ -0,0 +1,7 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + - name: build examples (Win32) + script: .ci/scripts/build_examples_win32.sh + - name: native unit tests (Win32) + script: .ci/scripts/native_test_win32.sh diff --git a/.cirrus.yml b/.cirrus.yml index aa178afbcc..2343ef9f3c 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -5,10 +5,7 @@ env: tool_setup_template: &TOOL_SETUP_TEMPLATE tool_setup_script: - - git fetch origin master # To set FETCH_HEAD for "git merge-base" to work - # Pinned version of the plugin tools, to avoid breakage in this repository - # when pushing updates from flutter/plugins. - - dart pub global activate flutter_plugin_tools 0.7.1 + - .ci/scripts/prepare_tool.sh flutter_upgrade_template: &FLUTTER_UPGRADE_TEMPLATE upgrade_flutter_script: