From 99457c92d78090759166b2710ba2bf4d2faa122e Mon Sep 17 00:00:00 2001 From: Tian Lun Lee Date: Thu, 19 Jul 2018 15:26:49 -0400 Subject: [PATCH] Add build test for Flutter codelabs --- .travis.yml | 1 + dev/bots/flutter_build_test.sh | 43 ++++++++++++++++++++++++++++++++++ dev/bots/travis_script.sh | 6 ++++- 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100755 dev/bots/flutter_build_test.sh diff --git a/.travis.yml b/.travis.yml index 565fee015c..016ab1b271 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ env: - SHARD=tests - SHARD=docs - SHARD=build_and_deploy_gallery + - SHARD=flutter_build_test matrix: exclude: - os: osx diff --git a/dev/bots/flutter_build_test.sh b/dev/bots/flutter_build_test.sh new file mode 100755 index 0000000000..7d4e8509ed --- /dev/null +++ b/dev/bots/flutter_build_test.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +readonly SCRIPTS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +readonly ROOT_DIR="$SCRIPTS_DIR/.." + +function is_expected_failure() { + # A test target was specified with the 'build' command. + grep --quiet "is not configured for Running" "$1" +} + +# Navigate to codelab and attempt to build 104-complete +echo "git clone https://github.com/material-components/material-components-flutter-codelabs.git" +git clone https://github.com/material-components/material-components-flutter-codelabs.git + +echo "cd material-components-flutter-codelabs/mdc_100_series/" +cd material-components-flutter-codelabs/mdc_100_series/ + +echo "git checkout 104-complete" +git checkout 104-complete + +log_file="build_log_for_104_complete.txt" +build_command="flutter build bundle" + +all_builds_ok=1 +echo "$build_command" +$build_command 2>&1 | tee "$log_file" + +if [ ${PIPESTATUS[0]} -eq 0 ] || is_expected_failure "$log_file"; then + rm "$log_file" +else + all_builds_ok=0 + echo + echo "Log left in $log_file." + echo +fi + +# If any build failed, exit with a failure exit status so continuous integration +# tools can react appropriately. +if [ "$all_builds_ok" -eq 1 ]; then + exit 0 +else + exit 1 +fi diff --git a/dev/bots/travis_script.sh b/dev/bots/travis_script.sh index 355218b10a..717a02b011 100755 --- a/dev/bots/travis_script.sh +++ b/dev/bots/travis_script.sh @@ -59,5 +59,9 @@ elif [ "$SHARD" = "docs" ]; then ./dev/bots/docs.sh fi else - dart ./dev/bots/test.dart + if [ "$SHARD" = "flutter_build_test" ]; then + ./dev/bots/flutter_build_test.sh + else + dart ./dev/bots/test.dart + fi fi