| 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 |
| depends_on: |
| - docs |
| - analyze |
| - 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 --enable-asserts 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 |
| pub_cache: |
| folder: ~/.pub-cache |
| depends_on: |
| - analyze |
| - 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 Fastlane password. |
| FASTLANE_PASSWORD: ENCRYPTED[4b1f0b8d52874e9de965acd46c79743f3b81f3a513614179b9be7cf53dc8258753e257bdadb11a298ee455259df21865] |
| # Private repo for publishing certificates. |
| PUBLISHING_MATCH_CERTIFICATE_REPO: ENCRYPTED[3c0e78877d933fc80107aa6f3790fd1cf927250b852d6cb53202be696b4903ed8ca839b809626aaf18050bf7e436fab7] |
| PUBLISHING_MATCH_REPO_TOKEN: ENCRYPTED[3d1230b744c6ed6c788a91bec741b769401dbcd426b18f9af8080bfeefdfc21913ca4047980c5b5b7ce823f12e7b6b19] |
| # Apple Certificates Match Passphrase |
| MATCH_PASSWORD: ENCRYPTED[db07f252234397090e3ec59152d9ec1831f5ecd0ef97d247b1dca757bbb9ef9b7c832a39bce2caf1949ccdf097e59a73] |
| 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 |
| 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/" |
| osx_instance: |
| image: mojave-flutter |
| remove_preinstalled_fluuter_script: rm -rf $FLUTTER_HOME |
| - name: add2app-macos |
| env: |
| SHARD: add2app_test |
| # 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 |
| 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" |