diff --git a/.cirrus.yml b/.cirrus.yml index af37fc630c2f..971ce1c2d91b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,20 +1,39 @@ +flutter_skip_web_template: &FLUTTER_SKIP_WEB_TEMPLATE + remove_web_plugins_script: + # TODO(jackson): Allow web plugins once supported on stable + # https://github.com/flutter/flutter/issues/42864 + - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi + task: use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == '' container: dockerfile: .ci/Dockerfile cpu: 8 memory: 16G + environment: + PATH: $PATH:$HOME/.pub-cache/bin + CHANNEL: "master" # Default to flutter master, tests can override. + channel_script: + - flutter channel $CHANNEL + - rm -rf $FLUTTER_HOME/bin/cache/* + # flutter_pkg_cache: + # folder: $FLUTTER_HOME/bin/cache/pkg + # fingerprint_script: echo $OS; cat ${FLUTTER_HOME}/bin/internal/*.version + # flutter_artifacts_cache: + # folder: $FLUTTER_HOME/bin/cache/artifacts + # fingerprint_script: echo $OS; cat ${FLUTTER_HOME}/bin/internal/*.version + # dart_cache: + # folder: $FLUTTER_HOME/bin/cache/dart-sdk + # fingerprint_script: echo $OS; cat ${FLUTTER_HOME}/bin/internal/*.version upgrade_script: - - flutter channel stable - - flutter upgrade - - flutter channel master - flutter upgrade - git fetch origin master activate_script: pub global activate flutter_plugin_tools matrix: - name: publishable + environment: + CHANNEL: "stable" script: - - flutter channel stable - ./script/check_publish.sh - name: format install_script: @@ -22,29 +41,33 @@ task: - sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" - sudo apt-get update - sudo apt-get install -y --allow-unauthenticated clang-format-7 + - dpkg -L clang-format-7 format_script: ./script/incremental_build.sh format --travis --clang-format=clang-format-7 - name: test - env: + << : *FLUTTER_SKIP_WEB_TEMPLATE + environment: matrix: CHANNEL: "master" CHANNEL: "stable" test_script: - # TODO(jackson): Allow web plugins once supported on stable - # https://github.com/flutter/flutter/issues/42864 - - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi - - flutter channel $CHANNEL - ./script/incremental_build.sh test + # depends_on: + # - publishable # Upload the stable cache first. + # - format # Upload the master cache first. - name: analyze - script: ./script/incremental_build.sh analyze + script: + - ./script/incremental_build.sh analyze + # depends_on: + # - format # Upload the master cache first. - name: build_all_plugins_apk + << : *FLUTTER_SKIP_WEB_TEMPLATE script: - # TODO(jackson): Allow web plugins once supported on stable - # https://github.com/flutter/flutter/issues/42864 - - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi - - flutter channel $CHANNEL - ./script/build_all_plugins_app.sh apk + # depends_on: + # - format # Upload the master cache first. - name: build-apks+java-test+firebase-test-lab - env: + << : *FLUTTER_SKIP_WEB_TEMPLATE + environment: matrix: PLUGIN_SHARDING: "--shardIndex 0 --shardCount 2" PLUGIN_SHARDING: "--shardIndex 1 --shardCount 2" @@ -54,10 +77,6 @@ task: MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550] GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[07586610af1fdfc894e5969f70ef2458341b9b7e9c3b7c4225a663b4a48732b7208a4d91c3b7d45305a6b55fa2a37fc4] script: - # TODO(jackson): Allow web plugins once supported on stable - # https://github.com/flutter/flutter/issues/42864 - - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi - - flutter channel $CHANNEL # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they # might include non-ASCII characters which makes Gradle crash. # See: https://github.com/flutter/flutter/issues/24935 @@ -78,36 +97,49 @@ task: - fi - export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt` - export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt` + # depends_on: + # - publishable + # - format task: use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' osx_instance: - image: mojave-xcode-11.2.1-flutter - setup_script: - - pod repo update + image: mojave-flutter + environment: + COCOAPODS_DISABLE_STATS: true + PATH: $PATH:/usr/local/bin:$HOME/.pub-cache/bin + CHANNEL: "master" # Default to flutter master, tests can override. + channel_script: + - flutter channel $CHANNEL + - rm -rf $FLUTTER_HOME/bin/cache/* + # flutter_pkg_cache: + # folder: $FLUTTER_HOME/bin/cache/pkg + # fingerprint_script: echo $OS; cat ${FLUTTER_HOME}/bin/internal/*.version + # flutter_artifacts_cache: + # folder: $FLUTTER_HOME/bin/cache/artifacts + # fingerprint_script: echo $OS; cat ${FLUTTER_HOME}/bin/internal/*.version + # dart_cache: + # folder: $FLUTTER_HOME/bin/cache/dart-sdk + # fingerprint_script: echo $OS; cat ${FLUTTER_HOME}/bin/cache/dart-sdk/revision upgrade_script: - - flutter channel stable - - flutter upgrade - - flutter channel master - flutter upgrade - git fetch origin master activate_script: pub global activate flutter_plugin_tools + << : *FLUTTER_SKIP_WEB_TEMPLATE create_simulator_script: - xcrun simctl list - xcrun simctl create Flutter-iPhone com.apple.CoreSimulator.SimDeviceType.iPhone-X com.apple.CoreSimulator.SimRuntime.iOS-13-2 | xargs xcrun simctl boot matrix: - name: build_all_plugins_ipa script: - # TODO(jackson): Allow web plugins once supported on stable - # https://github.com/flutter/flutter/issues/42864 - - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi - - flutter channel $CHANNEL - ./script/build_all_plugins_app.sh ios --no-codesign - name: lint_darwin_plugins - script: ./script/lint_darwin_plugins.sh + environment: + CHANNEL: "stable" + script: + - ./script/lint_darwin_plugins.sh - name: build-ipas+drive-examples - env: - PATH: $PATH:/usr/local/bin + environment: matrix: PLUGIN_SHARDING: "--shardIndex 0 --shardCount 4" PLUGIN_SHARDING: "--shardIndex 1 --shardCount 4" @@ -117,10 +149,9 @@ task: CHANNEL: "master" CHANNEL: "stable" SIMCTL_CHILD_MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550] - build_script: - # TODO(jackson): Allow web plugins once supported on stable - # https://github.com/flutter/flutter/issues/42864 - - if [[ "$CHANNEL" -eq "stable" ]]; then find . | grep _web$ | xargs rm -rf; fi - - flutter channel $CHANNEL + script: - ./script/incremental_build.sh build-examples --ipa - ./script/incremental_build.sh drive-examples + # depends_on: + # - build_all_plugins_ipa # Upload the master cache first. + # - lint_darwin_plugins # Upload the stable cache first. diff --git a/analysis_options.yaml b/analysis_options.yaml index b1261f36fac9..997c7ec8b718 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -3,7 +3,7 @@ analyzer: exclude: # Ignore generated files - '**/*.g.dart' - - 'lib/src/generated/*.dart' + - '**/lib/src/generated/*.dart' linter: rules: - public_member_api_docs