git: depth: 3 jobs: include: - name: iOS tests, stable channel os: osx osx_image: xcode11.2 language: objective-c script: "./tool/travis_ios_script.sh" env: FLUTTER_VERSION=stable - name: Android tests, stable channel os: linux dist: trusty language: android android: components: - build-tools-28.0.3 - android-28 - build-tools-29.0.2 - android-29 script: "./tool/travis_android_script.sh" env: FLUTTER_VERSION=stable - name: Flutter tests, stable channel os: linux dist: trusty language: ruby script: "./tool/travis_flutter_script.sh" env: FLUTTER_VERSION=stable - name: iOS tests, beta channel os: osx osx_image: xcode11.2 language: objective-c script: "./tool/travis_ios_script.sh" env: FLUTTER_VERSION=beta - name: Android tests, beta channel os: linux dist: trusty language: android android: components: - build-tools-28.0.3 - android-28 - build-tools-29.0.2 - android-29 script: "./tool/travis_android_script.sh" env: FLUTTER_VERSION=beta - name: Flutter tests, beta channel os: linux dist: trusty language: ruby script: "./tool/travis_flutter_script.sh" env: FLUTTER_VERSION=beta - name: Visual samples index tests os: linux dist: trusty env: FLUTTER_VERSION=stable script: - cd web/samples_index - ../../flutter/bin/dart pub get - ../../flutter/bin/dart test allow_failures: - env: FLUTTER_VERSION=beta env: global: # Disabling this makes it easier to install our own copy of gcloud - CLOUDSDK_CORE_DISABLE_PROMPTS=1 before_script: - git clone https://github.com/flutter/flutter.git -b $FLUTTER_VERSION - "./flutter/bin/flutter doctor" - chmod +x tool/travis_*_script.sh cache: cocoapods: true directories: - "$HOME/shared/.pub-cache" - "$HOME/google-cloud-sdk" notifications: email: brogdon+github@gmail.com branches: only: - master - beta - testing_sample before_install: # Decrypt credentials for Firebase Test Lab service account. This key will only # decrypt properly when run from within the flutter/samples repo (not a PR from # a fork, for example), so failure is expected in some cases. The Android test # script is the only one that uses this value, and will account for a lack of # credentials. - openssl aes-256-cbc -K $encrypted_ccb0f43ba178_key -iv $encrypted_ccb0f43ba178_iv -in svc-keyfile.json.enc -out svc-keyfile.json -d || rm svc-keyfile.json || true - ls -la # Install our own copy of gcloud. This is necessary because the default copy is # so old it doesn't offer a firebase component. - if [ ! -d "$HOME/google-cloud-sdk/bin" ]; then rm -rf "$HOME/google-cloud-sdk"; curl https://sdk.cloud.google.com | bash > /dev/null; fi - source $HOME/google-cloud-sdk/path.bash.inc - gcloud components update - gcloud version