From fa1b48d50fc2ae089f7e0eba9c058b57aafd6896 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 13:11:09 +1100 Subject: [PATCH 01/22] Split CI testing based on flutter channels --- .github/workflows/main.yml | 43 ++++++++------- ...ci_script.sh => flutter_ci_script_beta.sh} | 0 tool/flutter_ci_script_dev.sh | 53 +++++++++++++++++++ tool/flutter_ci_script_stable.sh | 53 +++++++++++++++++++ 4 files changed, 131 insertions(+), 18 deletions(-) rename tool/{flutter_ci_script.sh => flutter_ci_script_beta.sh} (100%) create mode 100755 tool/flutter_ci_script_dev.sh create mode 100755 tool/flutter_ci_script_stable.sh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 229d3488067..004a179b226 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,18 +10,8 @@ on: - cron: '0 0 * * *' # Every day at midnight jobs: - flutter-tests: + flutter-tests-stable: runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - flutter_version: dev - allow_failure: true - - flutter_version: beta - allow_failure: true - - flutter_version: stable - allow_failure: false steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 @@ -29,13 +19,32 @@ jobs: java-version: '12.x' - uses: subosito/flutter-action@v1 with: - channel: ${{ matrix.flutter_version }} - - run: ./tool/flutter_ci_script.sh - continue-on-error: ${{ matrix.allow_failure }} + channel: stable + - run: ./tool/flutter_ci_script_stable.sh + flutter-tests-beta: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v1 + with: + java-version: '12.x' + - uses: subosito/flutter-action@v1 + with: + channel: beta + - run: ./tool/flutter_ci_script_beta.sh + flutter-tests-dev: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v1 + with: + java-version: '12.x' + - uses: subosito/flutter-action@v1 + with: + channel: dev + - run: ./tool/flutter_ci_script_dev.sh android-build: runs-on: ubuntu-latest - strategy: - fail-fast: false steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 @@ -47,8 +56,6 @@ jobs: - run: ./tool/android_ci_script.sh ios-build: runs-on: macos-latest - strategy: - fail-fast: false steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 diff --git a/tool/flutter_ci_script.sh b/tool/flutter_ci_script_beta.sh similarity index 100% rename from tool/flutter_ci_script.sh rename to tool/flutter_ci_script_beta.sh diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh new file mode 100755 index 00000000000..a0cb1b0782a --- /dev/null +++ b/tool/flutter_ci_script_dev.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +set -e + +declare -ar PROJECT_NAMES=( + "add_to_app/flutter_module" \ + "add_to_app/flutter_module_using_plugin" \ + "add_to_app/flutter_module_books" \ + "animations" \ + "flutter_maps_firestore" \ + "infinite_list" \ + "ios_app_clip" \ + "isolate_example" \ + "jsonexample" \ + "place_tracker" \ + "platform_channels" \ + "platform_design" + "platform_view_swift" \ + "provider_counter" \ + "provider_shopper" \ + "testing_app" \ +# TODO(goderbauer): Add veggieseasons back when moved out of experimental again. +# "veggieseasons" \ +) + +for PROJECT_NAME in "${PROJECT_NAMES[@]}" +do + echo "== Testing '${PROJECT_NAME}' on Flutter's ${FLUTTER_VERSION} channel ==" + pushd "${PROJECT_NAME}" + + # Grab packages. + flutter pub get + + # Run the analyzer to find any static analysis issues. + flutter analyze + + # Reformat the web plugin registrant, if necessary. + if [ -f "lib/generated_plugin_registrant.dart" ] + then + echo "Renaming $(pwd)/lib/generated_plugin_registrant.dart" + flutter format "lib/generated_plugin_registrant.dart" + fi + + # Run the formatter on all the dart files to make sure everything's linted. + flutter format -n --set-exit-if-changed . + + # Run the actual tests. + flutter test + + popd +done + +echo "-- Success --" diff --git a/tool/flutter_ci_script_stable.sh b/tool/flutter_ci_script_stable.sh new file mode 100755 index 00000000000..a0cb1b0782a --- /dev/null +++ b/tool/flutter_ci_script_stable.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +set -e + +declare -ar PROJECT_NAMES=( + "add_to_app/flutter_module" \ + "add_to_app/flutter_module_using_plugin" \ + "add_to_app/flutter_module_books" \ + "animations" \ + "flutter_maps_firestore" \ + "infinite_list" \ + "ios_app_clip" \ + "isolate_example" \ + "jsonexample" \ + "place_tracker" \ + "platform_channels" \ + "platform_design" + "platform_view_swift" \ + "provider_counter" \ + "provider_shopper" \ + "testing_app" \ +# TODO(goderbauer): Add veggieseasons back when moved out of experimental again. +# "veggieseasons" \ +) + +for PROJECT_NAME in "${PROJECT_NAMES[@]}" +do + echo "== Testing '${PROJECT_NAME}' on Flutter's ${FLUTTER_VERSION} channel ==" + pushd "${PROJECT_NAME}" + + # Grab packages. + flutter pub get + + # Run the analyzer to find any static analysis issues. + flutter analyze + + # Reformat the web plugin registrant, if necessary. + if [ -f "lib/generated_plugin_registrant.dart" ] + then + echo "Renaming $(pwd)/lib/generated_plugin_registrant.dart" + flutter format "lib/generated_plugin_registrant.dart" + fi + + # Run the formatter on all the dart files to make sure everything's linted. + flutter format -n --set-exit-if-changed . + + # Run the actual tests. + flutter test + + popd +done + +echo "-- Success --" From ebfda63a5d94aade6651cf8a2da694c83c7a51f3 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 13:30:11 +1100 Subject: [PATCH 02/22] Drop flutter_maps_firestore from beta and dev --- tool/flutter_ci_script_beta.sh | 6 +++--- tool/flutter_ci_script_dev.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index a0cb1b0782a..4fa12e4da5e 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -7,7 +7,8 @@ declare -ar PROJECT_NAMES=( "add_to_app/flutter_module_using_plugin" \ "add_to_app/flutter_module_books" \ "animations" \ - "flutter_maps_firestore" \ + # Tracking issue: https://github.com/flutter/samples/issues/652 + # "flutter_maps_firestore" \ "infinite_list" \ "ios_app_clip" \ "isolate_example" \ @@ -19,8 +20,7 @@ declare -ar PROJECT_NAMES=( "provider_counter" \ "provider_shopper" \ "testing_app" \ -# TODO(goderbauer): Add veggieseasons back when moved out of experimental again. -# "veggieseasons" \ + "veggieseasons" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index a0cb1b0782a..4fa12e4da5e 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -7,7 +7,8 @@ declare -ar PROJECT_NAMES=( "add_to_app/flutter_module_using_plugin" \ "add_to_app/flutter_module_books" \ "animations" \ - "flutter_maps_firestore" \ + # Tracking issue: https://github.com/flutter/samples/issues/652 + # "flutter_maps_firestore" \ "infinite_list" \ "ios_app_clip" \ "isolate_example" \ @@ -19,8 +20,7 @@ declare -ar PROJECT_NAMES=( "provider_counter" \ "provider_shopper" \ "testing_app" \ -# TODO(goderbauer): Add veggieseasons back when moved out of experimental again. -# "veggieseasons" \ + "veggieseasons" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" From 6796a4dd14dc52ddb65797b7b62326d4af8f2aad Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 13:48:30 +1100 Subject: [PATCH 03/22] Drop isolate_example and add_to_app/android_fullscreen --- tool/android_ci_script.sh | 5 +++-- tool/flutter_ci_script_beta.sh | 5 +++-- tool/flutter_ci_script_dev.sh | 5 +++-- tool/flutter_ci_script_stable.sh | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/tool/android_ci_script.sh b/tool/android_ci_script.sh index f1b0f0b1595..365db1dcbf4 100755 --- a/tool/android_ci_script.sh +++ b/tool/android_ci_script.sh @@ -14,14 +14,15 @@ flutter packages get popd declare -ar ANDROID_PROJECT_NAMES=( - "add_to_app/android_fullscreen" \ + # Tracking issue: https://github.com/flutter/samples/issues/654 + # "add_to_app/android_fullscreen" \ "add_to_app/android_using_plugin" \ "add_to_app/android_using_prebuilt_module" \ ) for PROJECT_NAME in "${ANDROID_PROJECT_NAMES[@]}" do - echo "== Testing '${PROJECT_NAME}' on Flutter's ${FLUTTER_VERSION} channel ==" + echo "== Testing '${PROJECT_NAME}' on Flutter's stable channel ==" pushd "${PROJECT_NAME}" ./gradlew --stacktrace assembleDebug diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index 4fa12e4da5e..0f76e749089 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -11,7 +11,8 @@ declare -ar PROJECT_NAMES=( # "flutter_maps_firestore" \ "infinite_list" \ "ios_app_clip" \ - "isolate_example" \ + # Tracking issue: https://github.com/flutter/samples/issues/653 + # "isolate_example" \ "jsonexample" \ "place_tracker" \ "platform_channels" \ @@ -25,7 +26,7 @@ declare -ar PROJECT_NAMES=( for PROJECT_NAME in "${PROJECT_NAMES[@]}" do - echo "== Testing '${PROJECT_NAME}' on Flutter's ${FLUTTER_VERSION} channel ==" + echo "== Testing '${PROJECT_NAME}' on Flutter's beta channel ==" pushd "${PROJECT_NAME}" # Grab packages. diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index 4fa12e4da5e..a4b5d75183c 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -11,7 +11,8 @@ declare -ar PROJECT_NAMES=( # "flutter_maps_firestore" \ "infinite_list" \ "ios_app_clip" \ - "isolate_example" \ + # Tracking issue: https://github.com/flutter/samples/issues/653 + # "isolate_example" \ "jsonexample" \ "place_tracker" \ "platform_channels" \ @@ -25,7 +26,7 @@ declare -ar PROJECT_NAMES=( for PROJECT_NAME in "${PROJECT_NAMES[@]}" do - echo "== Testing '${PROJECT_NAME}' on Flutter's ${FLUTTER_VERSION} channel ==" + echo "== Testing '${PROJECT_NAME}' on Flutter's dev channel ==" pushd "${PROJECT_NAME}" # Grab packages. diff --git a/tool/flutter_ci_script_stable.sh b/tool/flutter_ci_script_stable.sh index a0cb1b0782a..d9ccdb2cf63 100755 --- a/tool/flutter_ci_script_stable.sh +++ b/tool/flutter_ci_script_stable.sh @@ -25,7 +25,7 @@ declare -ar PROJECT_NAMES=( for PROJECT_NAME in "${PROJECT_NAMES[@]}" do - echo "== Testing '${PROJECT_NAME}' on Flutter's ${FLUTTER_VERSION} channel ==" + echo "== Testing '${PROJECT_NAME}' on Flutter's stable channel ==" pushd "${PROJECT_NAME}" # Grab packages. From 5321f8b824edd5482c107614cd448c3e4457d1ae Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 14:01:02 +1100 Subject: [PATCH 04/22] Drop place_tracker from beta and dev --- tool/flutter_ci_script_beta.sh | 3 ++- tool/flutter_ci_script_dev.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index 0f76e749089..0eb124764bb 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -14,7 +14,8 @@ declare -ar PROJECT_NAMES=( # Tracking issue: https://github.com/flutter/samples/issues/653 # "isolate_example" \ "jsonexample" \ - "place_tracker" \ + # Tracking issue: https://github.com/flutter/samples/issues/655 + # "place_tracker" \ "platform_channels" \ "platform_design" "platform_view_swift" \ diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index a4b5d75183c..f3ed44ecac8 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -14,7 +14,8 @@ declare -ar PROJECT_NAMES=( # Tracking issue: https://github.com/flutter/samples/issues/653 # "isolate_example" \ "jsonexample" \ - "place_tracker" \ + # Tracking issue: https://github.com/flutter/samples/issues/655 + # "place_tracker" \ "platform_channels" \ "platform_design" "platform_view_swift" \ From d1a83f5ec4976c9b4d450906f52966496a5a471a Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 14:08:49 +1100 Subject: [PATCH 05/22] Drop platform_channels from beta and dev --- tool/flutter_ci_script_beta.sh | 3 ++- tool/flutter_ci_script_dev.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index 0eb124764bb..e03b7989415 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -16,7 +16,8 @@ declare -ar PROJECT_NAMES=( "jsonexample" \ # Tracking issue: https://github.com/flutter/samples/issues/655 # "place_tracker" \ - "platform_channels" \ + # Tracking issue: https://github.com/flutter/samples/issues/656 + # "platform_channels" \ "platform_design" "platform_view_swift" \ "provider_counter" \ diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index f3ed44ecac8..ea0c35621da 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -16,7 +16,8 @@ declare -ar PROJECT_NAMES=( "jsonexample" \ # Tracking issue: https://github.com/flutter/samples/issues/655 # "place_tracker" \ - "platform_channels" \ + # Tracking issue: https://github.com/flutter/samples/issues/656 + # "platform_channels" \ "platform_design" "platform_view_swift" \ "provider_counter" \ From 731f224a8ca1822c9c64d6e8c245d11e659883f4 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 14:18:01 +1100 Subject: [PATCH 06/22] Drop provider_shopper from beta and dev --- tool/flutter_ci_script_beta.sh | 3 ++- tool/flutter_ci_script_dev.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index e03b7989415..dc54631ede1 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -21,7 +21,8 @@ declare -ar PROJECT_NAMES=( "platform_design" "platform_view_swift" \ "provider_counter" \ - "provider_shopper" \ + # Tracking issue: https://github.com/flutter/samples/issues/657 + # "provider_shopper" \ "testing_app" \ "veggieseasons" \ ) diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index ea0c35621da..fac55898392 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -21,7 +21,8 @@ declare -ar PROJECT_NAMES=( "platform_design" "platform_view_swift" \ "provider_counter" \ - "provider_shopper" \ + # Tracking issue: https://github.com/flutter/samples/issues/657 + # "provider_shopper" \ "testing_app" \ "veggieseasons" \ ) From 04439f05b3a1781b14799bf049b7e141411c2771 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 14:26:58 +1100 Subject: [PATCH 07/22] Drop testing_app from beta and dev --- tool/flutter_ci_script_beta.sh | 3 ++- tool/flutter_ci_script_dev.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index dc54631ede1..39a333fe21d 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -23,7 +23,8 @@ declare -ar PROJECT_NAMES=( "provider_counter" \ # Tracking issue: https://github.com/flutter/samples/issues/657 # "provider_shopper" \ - "testing_app" \ + # Tracking issue: https://github.com/flutter/samples/issues/658 + # "testing_app" \ "veggieseasons" \ ) diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index fac55898392..5aea61f78f5 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -23,7 +23,8 @@ declare -ar PROJECT_NAMES=( "provider_counter" \ # Tracking issue: https://github.com/flutter/samples/issues/657 # "provider_shopper" \ - "testing_app" \ + # Tracking issue: https://github.com/flutter/samples/issues/658 + # "testing_app" \ "veggieseasons" \ ) From bc35aae8baa6aee1c96194b7ca37d7b51c66529a Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 14:37:11 +1100 Subject: [PATCH 08/22] Add experimental dirs to beta and dev --- tool/flutter_ci_script_beta.sh | 6 +++++- tool/flutter_ci_script_dev.sh | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index 39a333fe21d..60788b46852 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -25,7 +25,11 @@ declare -ar PROJECT_NAMES=( # "provider_shopper" \ # Tracking issue: https://github.com/flutter/samples/issues/658 # "testing_app" \ - "veggieseasons" \ + "experimental/federated_plugin/federated_plugin" \ + "experimental/null_safety/null_safe_app" \ + "experimental/null_safety/null_unsafe_app" \ + "experimental/veggieseasons" \ + "experimental/web_dashboard" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index 5aea61f78f5..e55396a274c 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -25,7 +25,12 @@ declare -ar PROJECT_NAMES=( # "provider_shopper" \ # Tracking issue: https://github.com/flutter/samples/issues/658 # "testing_app" \ - "veggieseasons" \ + "experimental/desktop_photo_search" \ + "experimental/federated_plugin/federated_plugin" \ + "experimental/null_safety/null_safe_app" \ + "experimental/null_safety/null_unsafe_app" \ + "experimental/veggieseasons" \ + "experimental/web_dashboard" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" From 611689d86d64f50a324fd7674596192b9171f4e3 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 14:47:23 +1100 Subject: [PATCH 09/22] Drop experimental/federated_plugin/federated_plugin --- tool/flutter_ci_script_beta.sh | 3 ++- tool/flutter_ci_script_dev.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index 60788b46852..23c91482c3b 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -25,7 +25,8 @@ declare -ar PROJECT_NAMES=( # "provider_shopper" \ # Tracking issue: https://github.com/flutter/samples/issues/658 # "testing_app" \ - "experimental/federated_plugin/federated_plugin" \ + # Tracking issue: https://github.com/flutter/samples/issues/659 + # "experimental/federated_plugin/federated_plugin" \ "experimental/null_safety/null_safe_app" \ "experimental/null_safety/null_unsafe_app" \ "experimental/veggieseasons" \ diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index e55396a274c..bbf8abc4d55 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -26,7 +26,8 @@ declare -ar PROJECT_NAMES=( # Tracking issue: https://github.com/flutter/samples/issues/658 # "testing_app" \ "experimental/desktop_photo_search" \ - "experimental/federated_plugin/federated_plugin" \ + # https://github.com/flutter/samples/issues/659 + # "experimental/federated_plugin/federated_plugin" \ "experimental/null_safety/null_safe_app" \ "experimental/null_safety/null_unsafe_app" \ "experimental/veggieseasons" \ From 3ef2486b5753337a61d8168ec7948687e068b8ce Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 14:57:31 +1100 Subject: [PATCH 10/22] Fix desktop_photo_search --- experimental/desktop_photo_search/lib/main.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/experimental/desktop_photo_search/lib/main.dart b/experimental/desktop_photo_search/lib/main.dart index 203b64a650c..db9921b516d 100644 --- a/experimental/desktop_photo_search/lib/main.dart +++ b/experimental/desktop_photo_search/lib/main.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:io'; -import 'dart:typed_data'; import 'package:file_selector/file_selector.dart'; import 'package:flutter/foundation.dart'; From 7d9b63ff0ae04188aa1f71b995e673f55bee1be5 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 15:07:12 +1100 Subject: [PATCH 11/22] Fix null safe app's badapp --- experimental/null_safety/null_safe_app/lib/badapp.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/experimental/null_safety/null_safe_app/lib/badapp.dart b/experimental/null_safety/null_safe_app/lib/badapp.dart index be5d2088471..311a5b450ab 100644 --- a/experimental/null_safety/null_safe_app/lib/badapp.dart +++ b/experimental/null_safety/null_safe_app/lib/badapp.dart @@ -2,6 +2,8 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +// ignore_for_file: unused_local_variable + import 'package:flutter/material.dart'; import 'services.dart'; From 44b90aabacb8fd197f0c94685a15c23789e297b3 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 15:24:20 +1100 Subject: [PATCH 12/22] Give null_unsafe_app a widget test --- .../null_unsafe_app/test/widget_test.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 experimental/null_safety/null_unsafe_app/test/widget_test.dart diff --git a/experimental/null_safety/null_unsafe_app/test/widget_test.dart b/experimental/null_safety/null_unsafe_app/test/widget_test.dart new file mode 100644 index 00000000000..8c65b091715 --- /dev/null +++ b/experimental/null_safety/null_unsafe_app/test/widget_test.dart @@ -0,0 +1,15 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility that Flutter provides. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter_test/flutter_test.dart'; + +void main() { + testWidgets('Rendering the page throws an exception', + (WidgetTester tester) async { + // Do nothing, running the app throws an exception on widget render. + }); +} From af4628deed2a551567b66b2c587f976cd4227a63 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 15:33:25 +1100 Subject: [PATCH 13/22] flutter format veggieseasons --- .../veggieseasons/lib/screens/settings.dart | 13 ++++++---- .../veggieseasons/test/restoration_test.dart | 24 ++++++++++++------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/experimental/veggieseasons/lib/screens/settings.dart b/experimental/veggieseasons/lib/screens/settings.dart index 6accd80d6a9..6f44fcbeac6 100644 --- a/experimental/veggieseasons/lib/screens/settings.dart +++ b/experimental/veggieseasons/lib/screens/settings.dart @@ -23,7 +23,8 @@ class VeggieCategorySettingsScreen extends StatelessWidget { static Route _routeBuilder(BuildContext context, Object argument) { return CupertinoPageRoute( - builder: (context) => VeggieCategorySettingsScreen(restorationId: 'category'), + builder: (context) => + VeggieCategorySettingsScreen(restorationId: 'category'), title: 'Preferred Categories', ); } @@ -136,9 +137,10 @@ class CalorieSettingsScreen extends StatelessWidget { label: cals.toString(), icon: SettingsIcon( icon: Styles.checkIcon, - foregroundColor: snapshot.hasData && snapshot.data == cals - ? CupertinoColors.activeBlue - : Styles.transparentColor, + foregroundColor: + snapshot.hasData && snapshot.data == cals + ? CupertinoColors.activeBlue + : Styles.transparentColor, backgroundColor: Styles.transparentColor, ), onPress: snapshot.hasData @@ -219,7 +221,8 @@ class SettingsScreen extends StatelessWidget { restorationId: restorationId, child: CupertinoPageScaffold( child: Container( - color: Styles.scaffoldBackground(CupertinoTheme.brightnessOf(context)), + color: + Styles.scaffoldBackground(CupertinoTheme.brightnessOf(context)), child: CustomScrollView( restorationId: 'list', slivers: [ diff --git a/experimental/veggieseasons/test/restoration_test.dart b/experimental/veggieseasons/test/restoration_test.dart index 68ec3e98205..870f859d514 100644 --- a/experimental/veggieseasons/test/restoration_test.dart +++ b/experimental/veggieseasons/test/restoration_test.dart @@ -43,27 +43,32 @@ void main() { expect(find.text('Grapes'), findsNothing); expect(find.text('Figs'), findsOneWidget); expect(find.text('Serving info'), findsOneWidget); - expect(tester.widget(find.byType(CupertinoSwitch)).value, isFalse); + expect(tester.widget(find.byType(CupertinoSwitch)).value, + isFalse); await tester.tap(find.byType(CupertinoSwitch)); await tester.pumpAndSettle(); - expect(tester.widget(find.byType(CupertinoSwitch)).value, isTrue); + expect(tester.widget(find.byType(CupertinoSwitch)).value, + isTrue); // Current details page is restored. await tester.restartAndRestore(); expect(find.text('Grapes'), findsNothing); expect(find.text('Figs'), findsOneWidget); expect(find.text('Serving info'), findsOneWidget); - expect(tester.widget(find.byType(CupertinoSwitch)).value, isTrue); + expect(tester.widget(find.byType(CupertinoSwitch)).value, + isTrue); await tester.tap(find.text('Trivia')); await tester.pumpAndSettle(); expect(find.text('Serving info'), findsNothing); - expect(find.text("Which of these isn't a variety of figs?"), findsOneWidget); + expect( + find.text("Which of these isn't a variety of figs?"), findsOneWidget); // Restores to trivia page. await tester.restartAndRestore(); expect(find.text('Serving info'), findsNothing); - expect(find.text("Which of these isn't a variety of figs?"), findsOneWidget); + expect( + find.text("Which of these isn't a variety of figs?"), findsOneWidget); await tester.tap(find.text('Brown Turkey')); await tester.pumpAndSettle(); @@ -92,13 +97,15 @@ void main() { await tester.tap(find.text('My Garden')); await tester.pumpAndSettle(); - expect(find.text('My Garden'), findsNWidgets(2)); // Name of the tap & title of page. + expect(find.text('My Garden'), + findsNWidgets(2)); // Name of the tap & title of page. expect(find.text('Grapes'), findsNothing); expect(find.text('Figs'), findsOneWidget); // Restores the current selected tab. await tester.restartAndRestore(); - expect(find.text('My Garden'), findsNWidgets(2)); // Name of the tap & title of page. + expect(find.text('My Garden'), + findsNWidgets(2)); // Name of the tap & title of page. expect(find.text('Grapes'), findsNothing); expect(find.text('Figs'), findsOneWidget); expect(find.text('Apples'), findsNothing); @@ -109,7 +116,8 @@ void main() { expect(find.text('Apples'), findsOneWidget); expect(find.text('Tangelo'), findsNothing); - await tester.enterText(find.byType(CupertinoTextField).hitTestable(), 'Tan'); + await tester.enterText( + find.byType(CupertinoTextField).hitTestable(), 'Tan'); await tester.pumpAndSettle(); expect(find.text('Apples'), findsNothing); expect(find.text('Tangelo'), findsOneWidget); From f1e344ffb87180dbf4d2cdc43a5b57128a15bbb6 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 15:44:44 +1100 Subject: [PATCH 14/22] Drop experimental/web_dashboard from CI --- tool/flutter_ci_script_beta.sh | 3 ++- tool/flutter_ci_script_dev.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index 23c91482c3b..8eb6f85b43f 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -30,7 +30,8 @@ declare -ar PROJECT_NAMES=( "experimental/null_safety/null_safe_app" \ "experimental/null_safety/null_unsafe_app" \ "experimental/veggieseasons" \ - "experimental/web_dashboard" \ + # Tracking issue: https://github.com/flutter/samples/issues/660 + # "experimental/web_dashboard" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index bbf8abc4d55..0a366b299d7 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -31,7 +31,8 @@ declare -ar PROJECT_NAMES=( "experimental/null_safety/null_safe_app" \ "experimental/null_safety/null_unsafe_app" \ "experimental/veggieseasons" \ - "experimental/web_dashboard" \ + # Tracking issue: https://github.com/flutter/samples/issues/660 + # "experimental/web_dashboard" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" From 46c5868912a65b9735d6b2b1bec14b89f9b46217 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Mon, 18 Jan 2021 17:08:25 +1100 Subject: [PATCH 15/22] Use matrix to simplify config --- .github/workflows/main.yml | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 004a179b226..6607f2d8e94 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,8 +10,14 @@ on: - cron: '0 0 * * *' # Every day at midnight jobs: - flutter-tests-stable: + flutter-tests: runs-on: ubuntu-latest + strategy: + matrix: + include: + - flutter_version: dev + - flutter_version: beta + - flutter_version: stable steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 @@ -19,30 +25,8 @@ jobs: java-version: '12.x' - uses: subosito/flutter-action@v1 with: - channel: stable - - run: ./tool/flutter_ci_script_stable.sh - flutter-tests-beta: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v1 - with: - java-version: '12.x' - - uses: subosito/flutter-action@v1 - with: - channel: beta - - run: ./tool/flutter_ci_script_beta.sh - flutter-tests-dev: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v1 - with: - java-version: '12.x' - - uses: subosito/flutter-action@v1 - with: - channel: dev - - run: ./tool/flutter_ci_script_dev.sh + channel: ${{ matrix.flutter_version }} + - run: ./tool/flutter_ci_script_${{ matrix.flutter_version }}.sh android-build: runs-on: ubuntu-latest steps: From 815d98ebb58ce6184278069f8fe713af06ab9a52 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Tue, 19 Jan 2021 11:04:05 +1100 Subject: [PATCH 16/22] Re-instate fail-fast:false --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6607f2d8e94..ac20f5e3301 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,6 +13,7 @@ jobs: flutter-tests: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: include: - flutter_version: dev From 68af20f5ef439f6f6fffbd4c922a16a0e7df6eab Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Wed, 20 Jan 2021 10:06:43 +1100 Subject: [PATCH 17/22] Format experimental/veggieseasons --- experimental/veggieseasons/test/restoration_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/veggieseasons/test/restoration_test.dart b/experimental/veggieseasons/test/restoration_test.dart index c6236109b72..4472f42aceb 100644 --- a/experimental/veggieseasons/test/restoration_test.dart +++ b/experimental/veggieseasons/test/restoration_test.dart @@ -137,7 +137,7 @@ void main() { expect(find.text('Tangelo'), findsOneWidget); expect(find.text('Serving info'), findsOneWidget); - + // Restores details page await tester.restartAndRestore(); expect(find.text('Tangelo'), findsOneWidget); From f865c32026333387b6579d5bd015e5734ef4ae1d Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Wed, 20 Jan 2021 10:18:02 +1100 Subject: [PATCH 18/22] Bring back add_to_app/android_fullscreen Fixed by https://github.com/flutter/samples/pull/662 --- tool/android_ci_script.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tool/android_ci_script.sh b/tool/android_ci_script.sh index 365db1dcbf4..fcbb9e98a3f 100755 --- a/tool/android_ci_script.sh +++ b/tool/android_ci_script.sh @@ -14,8 +14,7 @@ flutter packages get popd declare -ar ANDROID_PROJECT_NAMES=( - # Tracking issue: https://github.com/flutter/samples/issues/654 - # "add_to_app/android_fullscreen" \ + "add_to_app/android_fullscreen" \ "add_to_app/android_using_plugin" \ "add_to_app/android_using_prebuilt_module" \ ) From 42f4ed344487629692b7db397793cfbb548977dc Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Wed, 20 Jan 2021 11:14:08 +1100 Subject: [PATCH 19/22] Bring back experimental/web_dashboard fixed by #663 --- tool/flutter_ci_script_beta.sh | 3 +-- tool/flutter_ci_script_dev.sh | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/tool/flutter_ci_script_beta.sh b/tool/flutter_ci_script_beta.sh index 8eb6f85b43f..23c91482c3b 100755 --- a/tool/flutter_ci_script_beta.sh +++ b/tool/flutter_ci_script_beta.sh @@ -30,8 +30,7 @@ declare -ar PROJECT_NAMES=( "experimental/null_safety/null_safe_app" \ "experimental/null_safety/null_unsafe_app" \ "experimental/veggieseasons" \ - # Tracking issue: https://github.com/flutter/samples/issues/660 - # "experimental/web_dashboard" \ + "experimental/web_dashboard" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" diff --git a/tool/flutter_ci_script_dev.sh b/tool/flutter_ci_script_dev.sh index 0a366b299d7..bbf8abc4d55 100755 --- a/tool/flutter_ci_script_dev.sh +++ b/tool/flutter_ci_script_dev.sh @@ -31,8 +31,7 @@ declare -ar PROJECT_NAMES=( "experimental/null_safety/null_safe_app" \ "experimental/null_safety/null_unsafe_app" \ "experimental/veggieseasons" \ - # Tracking issue: https://github.com/flutter/samples/issues/660 - # "experimental/web_dashboard" \ + "experimental/web_dashboard" \ ) for PROJECT_NAME in "${PROJECT_NAMES[@]}" From bf03529d481ca013b44dfaafae8e1eb5b5b63ec2 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Wed, 20 Jan 2021 12:15:41 +1100 Subject: [PATCH 20/22] Fix experimental/web_dashboard beta warnings --- experimental/web_dashboard/lib/src/pages/sign_in.dart | 2 +- .../lib/src/widgets/third_party/adaptive_scaffold.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/experimental/web_dashboard/lib/src/pages/sign_in.dart b/experimental/web_dashboard/lib/src/pages/sign_in.dart index f5f8f5ae64d..eed4f304916 100644 --- a/experimental/web_dashboard/lib/src/pages/sign_in.dart +++ b/experimental/web_dashboard/lib/src/pages/sign_in.dart @@ -95,7 +95,7 @@ class _SignInButtonState extends State { } void _showError() { - Scaffold.of(context).showSnackBar( + ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text('Unable to sign in.'), ), diff --git a/experimental/web_dashboard/lib/src/widgets/third_party/adaptive_scaffold.dart b/experimental/web_dashboard/lib/src/widgets/third_party/adaptive_scaffold.dart index 4b20b0e4b8b..f89b96687c6 100644 --- a/experimental/web_dashboard/lib/src/widgets/third_party/adaptive_scaffold.dart +++ b/experimental/web_dashboard/lib/src/widgets/third_party/adaptive_scaffold.dart @@ -140,7 +140,7 @@ class _AdaptiveScaffoldState extends State { ...widget.destinations.map( (d) => BottomNavigationBarItem( icon: Icon(d.icon), - title: Text(d.title), + label: d.title, ), ), ], From e213ec47bd0da4fd05b6775ea2250133b50c0e07 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Wed, 20 Jan 2021 12:28:31 +1100 Subject: [PATCH 21/22] flutter format experimental/web_dashboard --- experimental/web_dashboard/lib/src/auth/firebase.dart | 1 - experimental/web_dashboard/lib/src/auth/mock.dart | 2 +- experimental/web_dashboard/tool/grind.dart | 3 ++- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/experimental/web_dashboard/lib/src/auth/firebase.dart b/experimental/web_dashboard/lib/src/auth/firebase.dart index 5c8b7807a6f..99a30809230 100644 --- a/experimental/web_dashboard/lib/src/auth/firebase.dart +++ b/experimental/web_dashboard/lib/src/auth/firebase.dart @@ -54,4 +54,3 @@ class _FirebaseUser implements User { _FirebaseUser(this.uid); } - diff --git a/experimental/web_dashboard/lib/src/auth/mock.dart b/experimental/web_dashboard/lib/src/auth/mock.dart index a1bdcd16c1e..6dbf8ba46f3 100644 --- a/experimental/web_dashboard/lib/src/auth/mock.dart +++ b/experimental/web_dashboard/lib/src/auth/mock.dart @@ -13,7 +13,7 @@ class MockAuthService implements Auth { Future signIn() async { // Sign in will randomly fail 25% of the time. var random = Random(); - if (random.nextInt(4) == 0) { + if (random.nextInt(4) == 0) { throw SignInException(); } return MockUser(); diff --git a/experimental/web_dashboard/tool/grind.dart b/experimental/web_dashboard/tool/grind.dart index e98f791b845..88eace49180 100644 --- a/experimental/web_dashboard/tool/grind.dart +++ b/experimental/web_dashboard/tool/grind.dart @@ -26,7 +26,8 @@ void runWeb() { @Task() void runFirebase() { run('flutter', - arguments: 'run -d web --web-port=5000 lib/main_firebase.dart '.split(' ')); + arguments: + 'run -d web --web-port=5000 lib/main_firebase.dart '.split(' ')); } @Task() From 4cc69afd50cf334611199602a5f70a170193132e Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Fri, 22 Jan 2021 12:42:50 +1100 Subject: [PATCH 22/22] Add Windows and macOS to the flutter-tests job --- .github/workflows/main.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ac20f5e3301..663fb995022 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,16 +9,19 @@ on: schedule: - cron: '0 0 * * *' # Every day at midnight +defaults: + run: + shell: bash + jobs: flutter-tests: - runs-on: ubuntu-latest + name: Test Flutter ${{ matrix.flutter_version }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - include: - - flutter_version: dev - - flutter_version: beta - - flutter_version: stable + flutter_version: [dev, beta, stable] + os: [ubuntu-latest, macos-latest, windows-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1