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 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[37e8b82f167864cae9a3f4d2cf3f37dea331d9375c295327c45de524f6c588fa6f6d63e5784f10f6d43ce29689f36c92] # For uploading beta docs to Firebase public live site FIREBASE_PUBLIC_TOKEN: ENCRYPTED[c422da192f06da7b4449ca8e7aa866dabeb8a0f8d7488497c2e7e447e6fd31d917e6c813db081dc4e2a7a63afdf41864] 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 ./dev/bots/analyze.dart - name: tests-linux env: SHARD: tests test_script: - dart ./dev/bots/test.dart container: cpu: 4 memory: 12G - name: tool_tests-linux env: SHARD: tool_tests test_script: - dart ./dev/bots/test.dart container: cpu: 4 memory: 12G - name: build_tests-linux env: SHARD: build_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 ./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 - name: codelabs-build-test env: SHARD: codelabs-build-test build_test_script: ./dev/bots/codelabs_build_test.sh task: use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_PR == '' windows_container: image: cirrusci/windowsservercore:2016 os_version: 2016 cpu: 4 env: CIRRUS_WORKING_DIR: "C:\\Windows\\Temp\\flutter sdk" git_fetch_script: - 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: SHARD: tests - name: tool_tests-windows env: SHARD: tool_tests - name: build_tests-windows env: SHARD: build_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 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: high-sierra-xcode-9.4.1 git_fetch_script: - 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: high-sierra-xcode-9.4.1 depends_on: - analyze env: CIRRUS_WORKING_DIR: "/tmp/flutter sdk" install_cocoapods_script: - sudo gem install cocoapods git_fetch_script: - 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 test_all_script: | ulimit -S -n 2048 # https://github.com/flutter/flutter/issues/2976 bin/cache/dart-sdk/bin/dart -c dev/bots/test.dart matrix: - name: tests-macos env: SHARD: tests - name: tool_tests-macos env: SHARD: tool_tests - name: build_tests-macos env: SHARD: build_tests COCOAPODS_DISABLE_STATS: true FLUTTER_FRAMEWORK_DIR: "/tmp/flutter sdk/bin/cache/artifacts/engine/ios/" container: cpu: 4 memory: 12G 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 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"