From 55c53abd3867bd5196d8ca03a288dea7d4d19dd9 Mon Sep 17 00:00:00 2001
From: Pierre-Louis <6655696+guidezpl@users.noreply.github.com>
Date: Tue, 7 Dec 2021 16:38:05 +0100
Subject: [PATCH] Improve and fix release workflows (#546)
* Update Gemfile.lock
* Bump pubspec.lock versions
* Disable deferred loading
* Fix release workflow versions
* Update release.yml
* add create_tag workflow
* rename release workflows
* Update create_tag.yml
* Update release instructions
* Update README.md
* empty commit
* Use secrets.FLUTTERGITHUBBOT_TOKEN
* x
* x
* x
* x
* Update create_tag.yml
* Update create_tag.yml
* bump up version
* add permission
* update token
* use own
* Revert "use own"
This reverts commit 729d1800b4fbbbfb401852ad8ae74107b724274b.
* Update README.md
* Delete create_tag.yml
---
.github/workflows/release.yml | 175 ------------------
...tore.yml => release_deploy_play_store.yml} | 6 +-
...{deploy_web.yml => release_deploy_web.yml} | 6 +-
.../release_draft_github_release.yml | 172 +++++++++++++++++
README.md | 37 ++--
android/Gemfile.lock | 98 +++++-----
android/fastlane/Fastfile | 4 +-
pubspec.lock | 84 ++++++---
pubspec.yaml | 2 +-
9 files changed, 312 insertions(+), 272 deletions(-)
delete mode 100644 .github/workflows/release.yml
rename .github/workflows/{deploy_play_store.yml => release_deploy_play_store.yml} (93%)
rename .github/workflows/{deploy_web.yml => release_deploy_web.yml} (88%)
create mode 100644 .github/workflows/release_draft_github_release.yml
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index aae3be3a0a..0000000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,175 +0,0 @@
-name: Draft Github Release
-on:
- workflow_dispatch:
- # Enable manual run
- push:
- # Sequence of patterns matched against refs/tags
- tags:
- - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
-
-jobs:
- generate-changelog:
- name: Generate changelog
- runs-on: ubuntu-latest
- steps:
- - name: Get latest published release tag
- id: get_latest_release
- uses: pozetroninc/github-action-get-latest-release@v0.5.0
- with:
- repository: ${{ github.repository }}
- excludes: prerelease, draft
- - name: Generate changelog since last published release
- uses: charmixer/auto-changelog-action@v1
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- future_release: ${{ github.ref }}
- since_tag: ${{ steps.get_latest_release.outputs.release }}
- - name: Upload changelog
- uses: actions/upload-artifact@v2
- with:
- name: changelog
- path: CHANGELOG.md
-
-
- draft-release:
- name: Draft Github release
- needs: generate-changelog
- runs-on: ubuntu-20.04
- outputs:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- steps:
- - name: Download changelog
- uses: actions/download-artifact@v2
- with:
- name: changelog
- - name: Draft release with changelog
- id: create_release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ github.ref }}
- release_name: Flutter Gallery ${{ github.ref }}
- body_path: CHANGELOG.md
- draft: true
- prerelease: false
-
-
- create-build:
- name: Create ${{ matrix.target }} build
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- target: [macOS, Windows, Linux, Android]
- include:
- - os: macos-10.15 # Catalina
- target: macOS
- build_target: macos
- build_path: build/macos/Build/Products/Release
- asset_extension: .zip
- asset_content_type: application/zip
- - os: windows-2019
- target: Windows
- build_target: windows
- build_path: build\windows\runner\Release
- asset_extension: .zip
- asset_content_type: application/zip
- - os: ubuntu-20.04
- target: Linux
- build_target: linux
- build_path: build/linux/x64/release/bundle
- asset_extension: .tar.gz
- asset_content_type: application/gzip
- - os: ubuntu-20.04
- target: Android
- build_target: apk
- build_path: build/app/outputs/flutter-apk
- asset_extension: .apk
- asset_content_type: application/vnd.android.package-archive
- # Disable fail-fast as we want results from all even if one fails.
- fail-fast: false
- needs: draft-release
- steps:
- # Set up Flutter.
- - name: Clone Flutter repository with master channel
- uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8
- with:
- channel: master
-
- - name: Install Linux dependencies
- if: matrix.target == 'Linux'
- run: |
- sudo apt-get update
- sudo apt-get install -y libgtk-3-dev libx11-dev pkg-config cmake ninja-build libblkid-dev
- - name: Install Android dependencies
- if: matrix.target == 'Android'
- uses: actions/setup-java@v1
- with:
- java-version: '12.x'
- - name: Enable desktop support
- if: matrix.target != 'Android'
- run: |
- flutter config --enable-linux-desktop
- flutter config --enable-macos-desktop
- flutter config --enable-windows-desktop
- - run: flutter doctor -v
-
- # Checkout gallery code, recreate missing files, and get packages.
- - name: Checkout gallery code
- uses: actions/checkout@v2
- - run: flutter create .
- - run: flutter pub get
-
- - name: Configure Keystore for Android
- if: matrix.target == 'Android'
- run: |
- echo "$PLAY_STORE_UPLOAD_KEY" | base64 --decode > app/upload-keystore.jks
- echo "storeFile=upload-keystore.jks" >> key.properties
- echo "keyAlias=$KEYSTORE_KEY_ALIAS" >> key.properties
- echo "storePassword=$KEYSTORE_STORE_PASSWORD" >> key.properties
- echo "keyPassword=$KEYSTORE_KEY_PASSWORD" >> key.properties
- env:
- PLAY_STORE_UPLOAD_KEY: ${{ secrets.PLAY_STORE_UPLOAD_KEY }}
- KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
- KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
- KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
- working-directory: android
-
- # Build the application.
- - run: flutter build -v ${{ matrix.build_target }} --release
-
- # Package the build.
- - name: Copy VC redistributables to release directory for Windows
- if: matrix.target == 'Windows'
- run: |
- Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\msvcp140.dll') .
- Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\vcruntime140.dll') .
- Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\vcruntime140_1.dll') .
- - name: Rename build for Android
- if: matrix.target == 'Android'
- run: mv app-release.apk $GITHUB_WORKSPACE/flutter_gallery_${{ matrix.target }}.apk
- working-directory: ${{ matrix.build_path }}
- - name: Compress build for Linux
- if: matrix.target == 'Linux'
- run: tar czf $GITHUB_WORKSPACE/flutter_gallery_${{ matrix.target }}.tar.gz *
- working-directory: ${{ matrix.build_path }}
- - name: Compress build for macOS
- if: matrix.target == 'macOS'
- run: ditto -c -k --sequesterRsrc --keepParent Flutter\ Gallery.app $GITHUB_WORKSPACE/flutter_gallery_${{ matrix.target }}.zip
- working-directory: ${{ matrix.build_path }}
- - name: Compress build for Windows
- if: matrix.target == 'Windows'
- run: compress-archive -Path * -DestinationPath ${env:GITHUB_WORKSPACE}\flutter_gallery_${{ matrix.target }}.zip
- working-directory: ${{ matrix.build_path }}
-
- # Upload the build.
- - name: Add packaged build to release draft
- id: upload_release_asset
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ needs.draft-release.outputs.upload_url }}
- asset_path: ./flutter_gallery_${{ matrix.target }}${{ matrix.asset_extension }}
- asset_name: flutter_gallery_${{ matrix.target }}${{ matrix.asset_extension }}
- asset_content_type: ${{ matrix.asset_content_type }}
diff --git a/.github/workflows/deploy_play_store.yml b/.github/workflows/release_deploy_play_store.yml
similarity index 93%
rename from .github/workflows/deploy_play_store.yml
rename to .github/workflows/release_deploy_play_store.yml
index a97c76b38c..ca215c80d0 100644
--- a/.github/workflows/deploy_play_store.yml
+++ b/.github/workflows/release_deploy_play_store.yml
@@ -1,16 +1,16 @@
name: Deploy to Play Store
on:
+ # Enable manual run
workflow_dispatch:
- # Enable manual run
inputs:
lane:
description: 'Fastlane lane to use (beta OR promote_to_production OR production)'
required: true
default: 'beta'
+ # Refs/tags push events to matching v*, i.e. v1.0, v20.15.10
push:
- # Sequence of patterns matched against refs/tags
tags:
- - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
+ - 'v*'
jobs:
fastlane-deploy:
diff --git a/.github/workflows/deploy_web.yml b/.github/workflows/release_deploy_web.yml
similarity index 88%
rename from .github/workflows/deploy_web.yml
rename to .github/workflows/release_deploy_web.yml
index 41d532c820..b03ae14e62 100644
--- a/.github/workflows/deploy_web.yml
+++ b/.github/workflows/release_deploy_web.yml
@@ -1,16 +1,16 @@
name: Deploy to web
on:
+ # Enable manual run
workflow_dispatch:
- # Enable manual run
inputs:
environment:
description: 'Environment to deploy to (staging OR prod)'
required: true
default: 'staging'
+ # Refs/tags push events to matching v*, i.e. v1.0, v20.15.10
push:
- # Sequence of patterns matched against refs/tags
tags:
- - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
+ - 'v*'
jobs:
build-and-deploy:
diff --git a/.github/workflows/release_draft_github_release.yml b/.github/workflows/release_draft_github_release.yml
new file mode 100644
index 0000000000..834d9a8f7f
--- /dev/null
+++ b/.github/workflows/release_draft_github_release.yml
@@ -0,0 +1,172 @@
+name: Draft Github Release
+on:
+ # Enable manual run
+ workflow_dispatch:
+ # Refs/tags push events to matching v*, i.e. v1.0, v20.15.10
+ push:
+ tags:
+ - "v*"
+
+jobs:
+ generate-changelog:
+ name: Generate changelog
+ runs-on: ubuntu-latest
+ steps:
+ - name: Get latest published release tag
+ id: get_latest_release
+ uses: pozetroninc/github-action-get-latest-release@2b51d48e904071035d6632715d41966f516711dd
+ with:
+ repository: ${{ github.repository }}
+ excludes: prerelease, draft
+ - name: Generate changelog since last published release
+ uses: charmixer/auto-changelog-action@5c6320ae4dedc8743e4439a3c56294c294553fb9
+ with:
+ token: ${{ secrets.FLUTTERGALLERYRELEASEBOT_TOKEN }}
+ future_release: ${{ github.ref }}
+ since_tag: ${{ steps.get_latest_release.outputs.release }}
+ - name: Upload changelog
+ uses: actions/upload-artifact@v2
+ with:
+ name: changelog
+ path: CHANGELOG.md
+
+ draft-release:
+ name: Draft Github release
+ needs: generate-changelog
+ runs-on: ubuntu-20.04
+ outputs:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ steps:
+ - name: Download changelog
+ uses: actions/download-artifact@v2
+ with:
+ name: changelog
+ - name: Draft release with changelog
+ id: create_release
+ uses: actions/create-release@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.FLUTTERGALLERYRELEASEBOT_TOKEN }}
+ with:
+ tag_name: ${{ github.ref }}
+ release_name: Flutter Gallery ${{ github.ref }}
+ body_path: CHANGELOG.md
+ draft: true
+ prerelease: false
+
+ create-build:
+ name: Create ${{ matrix.target }} build
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ target: [macOS, Windows, Linux, Android]
+ include:
+ - os: macos-10.15 # Catalina
+ target: macOS
+ build_target: macos
+ build_path: build/macos/Build/Products/Release
+ asset_extension: .zip
+ asset_content_type: application/zip
+ - os: windows-2019
+ target: Windows
+ build_target: windows
+ build_path: build\windows\runner\Release
+ asset_extension: .zip
+ asset_content_type: application/zip
+ - os: ubuntu-20.04
+ target: Linux
+ build_target: linux
+ build_path: build/linux/x64/release/bundle
+ asset_extension: .tar.gz
+ asset_content_type: application/gzip
+ - os: ubuntu-20.04
+ target: Android
+ build_target: apk
+ build_path: build/app/outputs/flutter-apk
+ asset_extension: .apk
+ asset_content_type: application/vnd.android.package-archive
+ # Disable fail-fast as we want results from all even if one fails.
+ fail-fast: false
+ needs: draft-release
+ steps:
+ # Set up Flutter.
+ - name: Clone Flutter repository with master channel
+ uses: subosito/flutter-action@4389e6cbc6cb8a4b18c628ff96ff90be0e926aa8
+ with:
+ channel: master
+
+ - name: Install Linux dependencies
+ if: matrix.target == 'Linux'
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y libgtk-3-dev libx11-dev pkg-config cmake ninja-build libblkid-dev
+ - name: Install Android dependencies
+ if: matrix.target == 'Android'
+ uses: actions/setup-java@v1
+ with:
+ java-version: "12.x"
+ - name: Enable desktop support
+ if: matrix.target != 'Android'
+ run: |
+ flutter config --enable-linux-desktop
+ flutter config --enable-macos-desktop
+ flutter config --enable-windows-desktop
+ - run: flutter doctor -v
+ # Checkout gallery code, recreate missing files, and get packages.
+ - name: Checkout gallery code
+ uses: actions/checkout@v2
+ - run: flutter create .
+ - run: flutter pub get
+
+ - name: Configure Keystore for Android
+ if: matrix.target == 'Android'
+ run: |
+ echo "$PLAY_STORE_UPLOAD_KEY" | base64 --decode > app/upload-keystore.jks
+ echo "storeFile=upload-keystore.jks" >> key.properties
+ echo "keyAlias=$KEYSTORE_KEY_ALIAS" >> key.properties
+ echo "storePassword=$KEYSTORE_STORE_PASSWORD" >> key.properties
+ echo "keyPassword=$KEYSTORE_KEY_PASSWORD" >> key.properties
+ env:
+ PLAY_STORE_UPLOAD_KEY: ${{ secrets.PLAY_STORE_UPLOAD_KEY }}
+ KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
+ KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
+ KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
+ working-directory: android
+
+ # Build the application.
+ - run: flutter build -v ${{ matrix.build_target }} --release
+
+ # Package the build.
+ - name: Copy VC redistributables to release directory for Windows
+ if: matrix.target == 'Windows'
+ run: |
+ Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\msvcp140.dll') .
+ Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\vcruntime140.dll') .
+ Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\vcruntime140_1.dll') .
+ - name: Rename build for Android
+ if: matrix.target == 'Android'
+ run: mv app-release.apk $GITHUB_WORKSPACE/flutter_gallery_${{ matrix.target }}.apk
+ working-directory: ${{ matrix.build_path }}
+ - name: Compress build for Linux
+ if: matrix.target == 'Linux'
+ run: tar czf $GITHUB_WORKSPACE/flutter_gallery_${{ matrix.target }}.tar.gz *
+ working-directory: ${{ matrix.build_path }}
+ - name: Compress build for macOS
+ if: matrix.target == 'macOS'
+ run: ditto -c -k --sequesterRsrc --keepParent Flutter\ Gallery.app $GITHUB_WORKSPACE/flutter_gallery_${{ matrix.target }}.zip
+ working-directory: ${{ matrix.build_path }}
+ - name: Compress build for Windows
+ if: matrix.target == 'Windows'
+ run: compress-archive -Path * -DestinationPath ${env:GITHUB_WORKSPACE}\flutter_gallery_${{ matrix.target }}.zip
+ working-directory: ${{ matrix.build_path }}
+
+ # Upload the build.
+ - name: Add packaged build to release draft
+ id: upload_release_asset
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.FLUTTERGALLERYRELEASEBOT_TOKEN }}
+ with:
+ upload_url: ${{ needs.draft-release.outputs.upload_url }}
+ asset_path: ./flutter_gallery_${{ matrix.target }}${{ matrix.asset_extension }}
+ asset_name: flutter_gallery_${{ matrix.target }}${{ matrix.asset_extension }}
+ asset_content_type: ${{ matrix.asset_content_type }}
diff --git a/README.md b/README.md
index bd13e81ce5..f9ea2279f4 100644
--- a/README.md
+++ b/README.md
@@ -43,8 +43,7 @@ This includes:
An APK, macOS, Linux, and Windows builds are available for [download](https://github.com/flutter/gallery/releases). You can find it on the web at [gallery.flutter.dev](https://gallery.flutter.dev/) and on the [Google Play Store](https://play.google.com/store/apps/details?id=io.flutter.demo.gallery).
-You can build from source yourself for any of these platforms, though, please note desktop support must [be enabled](
-https://github.com/flutter/flutter/wiki/Desktop-shells#tooling). For
+You can build from source yourself for any of these platforms, though, please note desktop support must [be enabled](https://github.com/flutter/flutter/wiki/Desktop-shells#tooling). For
example, to run the app on Windows:
```bash
@@ -58,7 +57,6 @@ Additionally, the UI adapts between mobile and desktop layouts regardless of the
platform it runs on. This is determined based on window size as outlined in
[adaptive.dart](lib/layout/adaptive.dart).
-
## Development
@@ -74,9 +72,9 @@ platform it runs on. This is determined based on window size as outlined in
current largest number in the repository.
3. Update the map `_effectDurations` in
- [splash.dart](lib/pages/splash.dart) to include the number of the
- new `.gif` as well as its estimated duration. The duration is used to
- determine how long to display the splash animation at launch.
+[splash.dart](lib/pages/splash.dart) to include the number of the
+new `.gif` as well as its estimated duration. The duration is used to
+determine how long to display the splash animation at launch.
@@ -89,6 +87,7 @@ containing the app's localizations through importing
`package:flutter_gen/gen_l10n/`.
See separate [README](lib/l10n/README.md) for more details.
+
@@ -98,8 +97,10 @@ See separate [README](lib/l10n/README.md) for more details.
flutter pub get
flutter pub run grinder update-code-segments
```
+
See separate [README](tool/codeviewer_cli/README.md) for
more details.
+
## Creating a new release (for Flutter org members)
@@ -110,25 +111,31 @@ more details.
with a patch should become `1.2.4+010204`.
2. **Staging**: After the version bump PR is merged, push a new version tag to master.
+
```bash
git pull upstream master
git tag v1.2.4 # note the v
git push upstream v1.2.4
```
- This will trigger a set of GitHub Actions [workflows](https://github.com/flutter/gallery/actions/) that will:
- * Draft a [GitHub release]((https://github.com/flutter/gallery/releases)) with automatically generated release notes and packaged builds (.apk, macOS, Windows, and Linux)
- * Deploy the gallery to the Firebase hosted [staging site](https://gallery-staging-flutter-dev.web.app/)
- * Deploy a new Android build to the Play Store [beta track](https://play.google.com/apps/testing/io.flutter.demo.gallery)
+
+This will trigger a set of GitHub Actions [workflows](https://github.com/flutter/gallery/tree/master/.github/workflows) that will:
+
+- Draft a [GitHub release](<(https://github.com/flutter/gallery/releases)>) with automatically generated release notes and packaged builds (.apk, macOS, Windows, and Linux)
+- Deploy the gallery to the Firebase hosted [staging site](https://gallery-staging-flutter-dev.web.app/)
+- Deploy a new Android build to the Play Store [beta track](https://play.google.com/apps/testing/io.flutter.demo.gallery)
+
+Note: all GitHub Action workflows can also be [run manually](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow)
3. **Production**: Once satisfied,
- * Publish the drafted [GitHub release](https://github.com/flutter/gallery/releases) (`Edit draft` -> `Publish release`).
- * Deploy the gallery to the Firebase hosted [production site](https://gallery.flutter.dev) by running [this workflow](https://github.com/flutter/gallery/actions/workflows/deploy_web.yml) with `prod` using GitHub's UI.
- * Promote the Play Store beta to production by running [this workflow](https://github.com/flutter/gallery/actions/workflows/deploy_play_store.yml) with `promote_to_production` using GitHub's UI.
+ - Publish the drafted [GitHub release](https://github.com/flutter/gallery/releases) (`Edit draft` -> `Publish release`).
+ - Deploy the gallery to the Firebase hosted [production site](https://gallery.flutter.dev) by running [this workflow](https://github.com/flutter/gallery/actions/workflows/deploy_web.yml) with `prod` using GitHub's UI.
+ - Promote the Play Store beta to production by running [this workflow](https://github.com/flutter/gallery/actions/workflows/deploy_play_store.yml) with `promote_to_production` using GitHub's UI.
More information about doing these things locally is available at [go/flutter-gallery-manual-deployment](http://go/flutter-gallery-manual-deployment).
## Tests
The gallery has its own set of unit and integration tests. Flutter itself also uses it in tests. To enable breaking changes, the gallery version is pinned in two places:
-* `flutter analyze`: https://github.com/flutter/tests/blob/master/registry/flutter_gallery.test
-* DeviceLab tests: https://github.com/flutter/flutter/blob/master/dev/devicelab/lib/versions/gallery.dart
+
+- `flutter analyze`: https://github.com/flutter/tests/blob/master/registry/flutter_gallery.test
+- DeviceLab tests: https://github.com/flutter/flutter/blob/master/dev/devicelab/lib/versions/gallery.dart
diff --git a/android/Gemfile.lock b/android/Gemfile.lock
index 0a98df1759..691bc88d0d 100644
--- a/android/Gemfile.lock
+++ b/android/Gemfile.lock
@@ -6,21 +6,21 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
artifactory (3.0.15)
atomos (0.1.3)
- aws-eventstream (1.1.1)
- aws-partitions (1.462.0)
- aws-sdk-core (3.114.0)
+ aws-eventstream (1.2.0)
+ aws-partitions (1.501.0)
+ aws-sdk-core (3.121.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
- aws-sdk-kms (1.43.0)
- aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sdk-kms (1.48.0)
+ aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.95.1)
- aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sdk-s3 (1.102.0)
+ aws-sdk-core (~> 3, >= 3.120.0)
aws-sdk-kms (~> 1)
- aws-sigv4 (~> 1.1)
- aws-sigv4 (1.2.3)
+ aws-sigv4 (~> 1.4)
+ aws-sigv4 (1.4.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.0.3)
@@ -29,19 +29,22 @@ GEM
commander (4.6.0)
highline (~> 2.0.0)
declarative (0.0.20)
- digest-crc (0.6.3)
+ digest-crc (0.6.4)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
emoji_regex (3.2.2)
- excon (0.81.0)
- faraday (1.4.2)
+ excon (0.85.0)
+ faraday (1.7.2)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
+ faraday-httpclient (~> 1.0.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
+ faraday-patron (~> 1.0)
+ faraday-rack (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
@@ -50,14 +53,17 @@ GEM
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
+ faraday-httpclient (1.0.1)
faraday-net_http (1.0.1)
- faraday-net_http_persistent (1.1.0)
- faraday_middleware (1.0.0)
+ faraday-net_http_persistent (1.2.0)
+ faraday-patron (1.0.0)
+ faraday-rack (1.0.0)
+ faraday_middleware (1.1.0)
faraday (~> 1.0)
- fastimage (2.2.3)
- fastlane (2.184.0)
+ fastimage (2.2.5)
+ fastlane (2.193.1)
CFPropertyList (>= 2.3, < 4.0.0)
- addressable (>= 2.3, < 3.0.0)
+ addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
@@ -72,7 +78,7 @@ GEM
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
- google-apis-androidpublisher_v3 (~> 0.1)
+ google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
@@ -81,6 +87,7 @@ GEM
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
naturally (~> 2.2)
+ optparse (~> 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
@@ -94,47 +101,46 @@ GEM
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
- google-apis-androidpublisher_v3 (0.4.0)
- google-apis-core (~> 0.1)
- google-apis-core (0.3.0)
+ google-apis-androidpublisher_v3 (0.11.0)
+ google-apis-core (>= 0.4, < 2.a)
+ google-apis-core (0.4.1)
addressable (~> 2.5, >= 2.5.1)
- googleauth (~> 0.14)
- httpclient (>= 2.8.1, < 3.0)
+ googleauth (>= 0.16.2, < 2.a)
+ httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
- retriable (>= 2.0, < 4.0)
+ retriable (>= 2.0, < 4.a)
rexml
- signet (~> 0.14)
webrick
- google-apis-iamcredentials_v1 (0.4.0)
- google-apis-core (~> 0.1)
- google-apis-playcustomapp_v1 (0.3.0)
- google-apis-core (~> 0.1)
- google-apis-storage_v1 (0.4.0)
- google-apis-core (~> 0.1)
+ google-apis-iamcredentials_v1 (0.7.0)
+ google-apis-core (>= 0.4, < 2.a)
+ google-apis-playcustomapp_v1 (0.5.0)
+ google-apis-core (>= 0.4, < 2.a)
+ google-apis-storage_v1 (0.6.0)
+ google-apis-core (>= 0.4, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.5.0)
faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.1.0)
- google-cloud-storage (1.31.1)
+ google-cloud-storage (1.34.1)
addressable (~> 2.5)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.1)
- google-cloud-core (~> 1.2)
- googleauth (~> 0.9)
+ google-cloud-core (~> 1.6)
+ googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
- googleauth (0.16.2)
+ googleauth (0.17.1)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
- signet (~> 0.14)
+ signet (~> 0.15)
highline (2.0.3)
- http-cookie (1.0.3)
+ http-cookie (1.0.4)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.4.0)
@@ -142,15 +148,16 @@ GEM
jwt (2.2.3)
memoist (0.16.2)
mini_magick (4.11.0)
- mini_mime (1.1.0)
+ mini_mime (1.1.1)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
naturally (2.2.1)
+ optparse (0.1.1)
os (1.1.1)
plist (3.6.0)
public_suffix (4.0.6)
- rake (13.0.3)
+ rake (13.0.6)
representable (3.1.1)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
@@ -158,11 +165,11 @@ GEM
retriable (3.1.2)
rexml (3.2.5)
rouge (2.0.7)
- ruby2_keywords (0.0.4)
- rubyzip (2.3.0)
+ ruby2_keywords (0.0.5)
+ rubyzip (2.3.2)
security (0.1.3)
- signet (0.15.0)
- addressable (~> 2.3)
+ signet (0.16.0)
+ addressable (~> 2.8)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
@@ -184,12 +191,13 @@ GEM
unicode-display_width (1.7.0)
webrick (1.7.0)
word_wrap (1.0.0)
- xcodeproj (1.19.0)
+ xcodeproj (1.21.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
+ rexml (~> 3.2.4)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
@@ -203,4 +211,4 @@ DEPENDENCIES
fastlane
BUNDLED WITH
- 2.2.2
+ 2.2.27
diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile
index bd888e35bc..9f00aa015c 100644
--- a/android/fastlane/Fastfile
+++ b/android/fastlane/Fastfile
@@ -23,7 +23,7 @@ platform :android do
desc "Submit a new beta build to Google Play"
lane :beta do
- sh "flutter build appbundle -v"
+ sh "flutter build appbundle -v --no-deferred-components"
upload_to_play_store(
track: 'beta',
aab: '../build/app/outputs/bundle/release/app-release.aab',
@@ -43,7 +43,7 @@ platform :android do
desc "Submit a new production build to Google Play"
lane :production do
- sh "flutter build appbundle -v"
+ sh "flutter build appbundle -v --no-deferred-components"
upload_to_play_store(
track: 'production',
aab: '../build/app/outputs/bundle/release/app-release.aab',
diff --git a/pubspec.lock b/pubspec.lock
index 0c8b33d8d4..3d4f384038 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -14,7 +14,7 @@ packages:
name: adaptive_breakpoints
url: "https://pub.dartlang.org"
source: hosted
- version: "0.1.0"
+ version: "0.1.1"
analyzer:
dependency: transitive
description:
@@ -28,7 +28,7 @@ packages:
name: animations
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.0.2"
archive:
dependency: transitive
description:
@@ -42,7 +42,7 @@ packages:
name: args
url: "https://pub.dartlang.org"
source: hosted
- version: "2.2.0"
+ version: "2.3.0"
async:
dependency: transitive
description:
@@ -77,7 +77,7 @@ packages:
name: cli_util
url: "https://pub.dartlang.org"
source: hosted
- version: "0.3.3"
+ version: "0.3.5"
clock:
dependency: transitive
description:
@@ -119,7 +119,7 @@ packages:
name: cupertino_icons
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.3"
+ version: "1.0.4"
fake_async:
dependency: transitive
description:
@@ -183,7 +183,7 @@ packages:
name: flutter_staggered_grid_view
url: "https://pub.dartlang.org"
source: hosted
- version: "0.4.0"
+ version: "0.4.1"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -212,7 +212,7 @@ packages:
name: glob
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.0.2"
google_fonts:
dependency: "direct main"
description:
@@ -233,7 +233,7 @@ packages:
name: http
url: "https://pub.dartlang.org"
source: hosted
- version: "0.13.3"
+ version: "0.13.4"
http_multi_server:
dependency: transitive
description:
@@ -282,7 +282,7 @@ packages:
name: logging
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.1"
+ version: "1.0.2"
matcher:
dependency: transitive
description:
@@ -310,7 +310,7 @@ packages:
name: mime
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.0"
+ version: "1.0.1"
nested:
dependency: transitive
description:
@@ -331,14 +331,14 @@ packages:
name: package_config
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.0.2"
package_info_plus:
dependency: "direct main"
description:
name: package_info_plus
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.6"
+ version: "1.3.0"
package_info_plus_linux:
dependency: transitive
description:
@@ -352,7 +352,7 @@ packages:
name: package_info_plus_macos
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.1"
+ version: "1.3.0"
package_info_plus_platform_interface:
dependency: transitive
description:
@@ -373,7 +373,7 @@ packages:
name: package_info_plus_windows
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.3"
+ version: "1.0.4"
path:
dependency: "direct dev"
description:
@@ -387,21 +387,35 @@ packages:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.2"
+ version: "2.0.7"
+ path_provider_android:
+ dependency: transitive
+ description:
+ name: path_provider_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.9"
+ path_provider_ios:
+ dependency: transitive
+ description:
+ name: path_provider_ios
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.7"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.2"
+ version: "2.1.2"
path_provider_macos:
dependency: transitive
description:
name: path_provider_macos
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.2"
+ version: "2.0.4"
path_provider_platform_interface:
dependency: transitive
description:
@@ -415,7 +429,7 @@ packages:
name: path_provider_windows
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.3"
+ version: "2.0.4"
pedantic:
dependency: "direct dev"
description:
@@ -436,7 +450,7 @@ packages:
name: plugin_platform_interface
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.0.2"
pool:
dependency: transitive
description:
@@ -457,14 +471,14 @@ packages:
name: provider
url: "https://pub.dartlang.org"
source: hosted
- version: "6.0.0"
+ version: "6.0.1"
pub_semver:
dependency: transitive
description:
name: pub_semver
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.0"
rally_assets:
dependency: "direct main"
description:
@@ -609,21 +623,35 @@ packages:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
- version: "6.0.9"
+ version: "6.0.17"
+ url_launcher_android:
+ dependency: transitive
+ description:
+ name: url_launcher_android
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "6.0.13"
+ url_launcher_ios:
+ dependency: transitive
+ description:
+ name: url_launcher_ios
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "6.0.13"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.0.2"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.1"
+ version: "2.0.2"
url_launcher_platform_interface:
dependency: transitive
description:
@@ -637,7 +665,7 @@ packages:
name: url_launcher_web
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.4"
+ version: "2.0.5"
url_launcher_windows:
dependency: transitive
description:
@@ -665,7 +693,7 @@ packages:
name: watcher
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.0"
+ version: "1.0.1"
web_benchmarks:
dependency: "direct dev"
description:
@@ -700,7 +728,7 @@ packages:
name: win32
url: "https://pub.dartlang.org"
source: hosted
- version: "2.2.6"
+ version: "2.3.1"
xdg_directories:
dependency: transitive
description:
@@ -717,4 +745,4 @@ packages:
version: "3.1.0"
sdks:
dart: ">=2.14.0 <3.0.0"
- flutter: ">=2.2.0"
+ flutter: ">=2.6.0-0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 40809ae4a8..f2e8e2e73c 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -4,7 +4,7 @@ repository: https://github.com/flutter/gallery
version: 2.9.3+020903
environment:
- flutter: ^2.2.0
+ flutter: ^2.6.0-0 # Kept relatively close to master channel version
sdk: ">=2.6.0 <3.0.0"
dependencies: