mirror of
https://github.com/flutter/flutter
synced 2024-10-13 19:52:53 +00:00
1ab1fc6f70
* Install JDK and Android SDK only for integration and build tests
271 lines
11 KiB
YAML
271 lines
11 KiB
YAML
container:
|
|
image: gcr.io/flutter-cirrus/build-flutter-image:latest
|
|
|
|
task:
|
|
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
|
|
env:
|
|
# Name the SDK directory to include a space so that we constantly
|
|
# test path names with spaces in them.
|
|
CIRRUS_WORKING_DIR: "/tmp/flutter sdk"
|
|
PATH: "$CIRRUS_WORKING_DIR/bin:$CIRRUS_WORKING_DIR/bin/cache/dart-sdk/bin:$PATH"
|
|
ANDROID_SDK_ROOT: "/opt/android_sdk"
|
|
git_fetch_script:
|
|
- git clean -xfd
|
|
- git fetch origin
|
|
- git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
|
|
pub_cache:
|
|
folder: $HOME/.pub-cache
|
|
fingerprint_script: echo $OS; grep -r --include=pubspec.yaml 'PUBSPEC CHECKSUM' "$CIRRUS_WORKING_DIR"
|
|
flutter_pkg_cache:
|
|
folder: bin/cache/pkg
|
|
fingerprint_script: echo $OS; cat bin/internal/engine.version
|
|
artifacts_cache:
|
|
folder: bin/cache/artifacts
|
|
fingerprint_script: echo $OS; cat bin/internal/engine.version
|
|
setup_script: ./dev/bots/cirrus_setup.sh
|
|
matrix:
|
|
- name: docs
|
|
env:
|
|
SHARD: docs
|
|
# For uploading master docs to Firebase master branch staging site
|
|
FIREBASE_MASTER_TOKEN: ENCRYPTED[eb768d18798fdc5abfe09b224e1724c4d82831d715ccf90df2c79d618c317216cbd99493278361f6fe7948b409b603f0]
|
|
# For uploading beta docs to Firebase public live site
|
|
FIREBASE_PUBLIC_TOKEN: ENCRYPTED[37e8b82f167864cae9a3f4d2cf3f37dea331d9375c295327c45de524f6c588fa6f6d63e5784f10f6d43ce29689f36c92]
|
|
docs_script: ./dev/bots/docs.sh
|
|
- name: deploy_gallery
|
|
only_if: $CIRRUS_BRANCH == 'dev'
|
|
depends_on:
|
|
- docs
|
|
- analyze
|
|
- tests-linux
|
|
- tool_tests-linux
|
|
- build_tests-linux
|
|
env:
|
|
SHARD: deploy_gallery
|
|
GOOGLE_DEVELOPER_SERVICE_ACCOUNT_ACTOR_FASTLANE: ENCRYPTED[d9ac1462c3c556fc2f8165c9d5566a16497d8ebc38a50357f7f3abf136b7f83e1d1d76dde36fee356cb0f9ebf7a89346]
|
|
ANDROID_GALLERY_UPLOAD_KEY: ENCRYPTED[0b3e681b4507aec433ef29c79b715f15f8c75ecd25315ea286b0b2bcb8b28d578634eead5aa2c54086a25e8da1bb219a]
|
|
test_script: ./dev/bots/deploy_gallery.sh
|
|
- name: analyze
|
|
test_script:
|
|
- dart --enable-asserts ./dev/bots/analyze.dart
|
|
- name: tests-linux
|
|
env:
|
|
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
|
SHARD: tests
|
|
test_script:
|
|
- dart --enable-asserts ./dev/bots/test.dart
|
|
container:
|
|
cpu: 4
|
|
memory: 12G
|
|
- name: tool_tests-linux
|
|
env:
|
|
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
|
SHARD: tool_tests
|
|
test_script:
|
|
- dart --enable-asserts ./dev/bots/test.dart
|
|
container:
|
|
cpu: 4
|
|
memory: 12G
|
|
- name: build_tests-linux
|
|
env:
|
|
SHARD: build_tests
|
|
- name: integration_tests-linux
|
|
env:
|
|
SHARD: integration_tests
|
|
test_script:
|
|
# 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
|
|
# This is a temporary workaround until we figure how to properly configure
|
|
# a UTF8 locale on Cirrus (or until the Gradle bug is fixed).
|
|
# TODO(amirh): Set the locale to UTF8.
|
|
- echo "$CIRRUS_CHANGE_MESSAGE" > /tmp/cirrus_change_message.txt
|
|
- echo "$CIRRUS_COMMIT_MESSAGE" > /tmp/cirrus_commit_message.txt
|
|
- export CIRRUS_CHANGE_MESSAGE=""
|
|
- export CIRRUS_COMMIT_MESSAGE=""
|
|
- dart --enable-asserts ./dev/bots/test.dart
|
|
- export CIRRUS_CHANGE_MESSAGE=`cat /tmp/cirrus_change_message.txt`
|
|
- export CIRRUS_COMMIT_MESSAGE=`cat /tmp/cirrus_commit_message.txt`
|
|
container:
|
|
cpu: 4
|
|
memory: 12G
|
|
|
|
|
|
task:
|
|
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == ''
|
|
windows_container:
|
|
image: cirrusci/android-sdk:28-windowsservercore-ltsc2016
|
|
os_version: 2016
|
|
cpu: 4
|
|
env:
|
|
CIRRUS_WORKING_DIR: "C:\\Windows\\Temp\\flutter sdk"
|
|
git_fetch_script:
|
|
- git clean -xfd
|
|
- git fetch origin
|
|
- git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
|
|
pub_cache:
|
|
folder: $APPDATA\Pub\Cache
|
|
fingerprint_script:
|
|
- ps: $Env:OS; Get-ChildItem -Path "$Env:CIRRUS_WORKING_DIR" pubspec.yaml -Recurse | Select-String -Pattern "PUBSPEC CHECKSUM" -SimpleMatch
|
|
flutter_pkg_cache:
|
|
folder: bin\cache\pkg
|
|
fingerprint_script: echo %OS% & type bin\internal\engine.version
|
|
artifacts_cache:
|
|
folder: bin\cache\artifacts
|
|
fingerprint_script: echo %OS% & type bin\internal\engine.version
|
|
setup_script:
|
|
- bin\flutter.bat config --no-analytics
|
|
- bin\flutter.bat update-packages
|
|
- git fetch origin master
|
|
test_all_script:
|
|
- bin\cache\dart-sdk\bin\dart.exe -c dev\bots\test.dart
|
|
matrix:
|
|
- name: tests-windows
|
|
env:
|
|
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
|
SHARD: tests
|
|
- name: tool_tests-windows
|
|
env:
|
|
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
|
SHARD: tool_tests
|
|
- name: build_tests-windows
|
|
env:
|
|
SHARD: build_tests
|
|
container:
|
|
cpu: 4
|
|
memory: 12G
|
|
- name: integration_tests-windows
|
|
env:
|
|
SHARD: integration_tests
|
|
container:
|
|
cpu: 4
|
|
memory: 12G
|
|
|
|
task:
|
|
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
|
|
name: deploy_gallery-macos
|
|
only_if: $CIRRUS_BRANCH == 'dev'
|
|
pub_cache:
|
|
folder: ~/.pub-cache
|
|
depends_on:
|
|
- analyze
|
|
- tests-macos
|
|
- tool_tests-macos
|
|
- build_tests-macos
|
|
- add2app-macos
|
|
env:
|
|
# Name the SDK directory to include a space so that we constantly
|
|
# test path names with spaces in them.
|
|
CIRRUS_WORKING_DIR: "/tmp/flutter sdk"
|
|
SHARD: deploy_gallery
|
|
# Apple Certificates Match Passphrase
|
|
MATCH_PASSWORD: ENCRYPTED[db07f252234397090e3ec59152d9ec1831f5ecd0ef97d247b1dca757bbb9ef9b7c832a39bce2caf1949ccdf097e59a73]
|
|
# Apple Fastlane password, ASP, and Session information.
|
|
FASTLANE_PASSWORD: ENCRYPTED[0bf9bb0cc2cb32a0ed18470cf2c9df0f587cce5f8b04adbd6cff15ca5bde7a74f721ee580227b132ab6b032f08e52ae0]
|
|
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ENCRYPTED[b219cc13c757f36cb62bfca5102d6115f1cc283aeb974f20c657bc4991c0cc144e30cf5d8183e41cc1df1668b4d14210]
|
|
FASTLANE_SESSION: ENCRYPTED[88246e355e55cd5e361a575f5d5b762f5826cb9d5285cb93a263b1cad04ec09bdedb1cbd74df5ec02d6043360fa04acd]
|
|
# Private repo for publishing certificates.
|
|
PUBLISHING_MATCH_CERTIFICATE_REPO: git@github.com:flutter/private_publishing_certificates.git
|
|
osx_instance:
|
|
image: mojave-xcode-10.1
|
|
# occasionally the clock on these machines is out of sync
|
|
# with the actual time - this should help to verify
|
|
print_date_script:
|
|
- date
|
|
git_fetch_script:
|
|
- git clean -xfd
|
|
- git fetch origin
|
|
- git fetch origin master # To set FETCH_HEAD
|
|
setup_script:
|
|
- bin/flutter config --no-analytics
|
|
- bin/flutter update-packages
|
|
test_all_script:
|
|
- ./dev/bots/deploy_gallery.sh
|
|
|
|
task:
|
|
use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
|
|
osx_instance:
|
|
image: mojave-xcode-10.1
|
|
depends_on:
|
|
- analyze
|
|
env:
|
|
CIRRUS_WORKING_DIR: "/tmp/flutter sdk"
|
|
COCOAPODS_DISABLE_STATS: true
|
|
# occasionally the clock on these machines is out of sync
|
|
# with the actual time - this should help to verify
|
|
print_date_script:
|
|
- date
|
|
install_cocoapods_script:
|
|
- sudo gem install cocoapods
|
|
git_fetch_script:
|
|
- git clean -xfd
|
|
- git fetch origin
|
|
- git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
|
|
pub_cache:
|
|
folder: $HOME/.pub-cache
|
|
fingerprint_script: echo $OS; grep -r --include=pubspec.yaml 'PUBSPEC CHECKSUM' "$CIRRUS_WORKING_DIR"
|
|
flutter_pkg_cache:
|
|
folder: bin/cache/pkg
|
|
fingerprint_script: echo $OS; cat bin/internal/engine.version
|
|
artifacts_cache:
|
|
folder: bin/cache/artifacts
|
|
fingerprint_script: echo $OS; cat bin/internal/engine.version
|
|
setup_script:
|
|
- bin/flutter config --no-analytics
|
|
- bin/flutter update-packages
|
|
matrix:
|
|
- name: tests-macos
|
|
env:
|
|
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
|
SHARD: tests
|
|
- name: tool_tests-macos
|
|
env:
|
|
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
|
SHARD: tool_tests
|
|
- name: $SHARD-macos
|
|
env:
|
|
matrix:
|
|
- SHARD: integration_tests
|
|
- SHARD: build_tests
|
|
COCOAPODS_DISABLE_STATS: true
|
|
FLUTTER_FRAMEWORK_DIR: "/tmp/flutter sdk/bin/cache/artifacts/engine/ios/"
|
|
ANDROID_SDK_TOOLS_URL: https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip
|
|
ANDROID_SDK_ROOT: $HOME/Android
|
|
ANDROID_HOME: $HOME/Android
|
|
OPEN_JDK_URL: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u202-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u202b08.tar.gz
|
|
OPEN_JDK_REVISION: jdk8u202-b08
|
|
JAVA_HOME: $HOME/Java/$OPEN_JDK_REVISION/Contents/Home
|
|
PATH: "$PATH:$JAVA_HOME/bin:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/platform-tools"
|
|
# TODO(dnfield): If the OSX image starts including this, we can remove it. https://github.com/cirruslabs/osx-images/issues/3
|
|
open_jdk_cache:
|
|
folder: $HOME/Java
|
|
fingerprint_script: echo $OPEN_JDK_URL; cat dev/bots/download_open_jdk.sh
|
|
populate_script: dev/bots/download_open_jdk.sh
|
|
# TODO(dnfield): If the OSX image starts including this, we can remove it. https://github.com/cirruslabs/osx-images/issues/3
|
|
android_sdk_cache:
|
|
folder: $ANDROID_SDK_ROOT
|
|
fingerprint_script: echo $ANDROID_SDK_TOOLS_URL; cat dev/bots/download_android_sdk.sh
|
|
populate_script: dev/bots/download_android_sdk.sh
|
|
- name: add2app-macos
|
|
env:
|
|
SHARD: add2app_test
|
|
test_all_script: |
|
|
ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976
|
|
bin/cache/dart-sdk/bin/dart --enable-asserts dev/bots/test.dart
|
|
|
|
docker_builder:
|
|
# Only build a new docker image when we tag a release (for dev, beta, or release.)
|
|
only_if: $CIRRUS_TAG != ''
|
|
env:
|
|
GCLOUD_CREDENTIALS: ENCRYPTED[f7c098d4dd7f5ee1bfee0bb7e944cce72efbe10e97ad6440ae72de4de6a1c24d23f421a2619c668e94377fb64b0bb3e6]
|
|
depends_on:
|
|
- docs
|
|
- analyze
|
|
- tests-linux
|
|
- tool_tests-linux
|
|
- build_tests-linux
|
|
- integration_tests-linux
|
|
build_script: "$CIRRUS_WORKING_DIR/dev/ci/docker_linux/docker_build.sh"
|
|
login_script: "$CIRRUS_WORKING_DIR/dev/ci/docker_linux/docker_login.sh"
|
|
push_script: "$CIRRUS_WORKING_DIR/dev/ci/docker_linux/docker_push.sh"
|