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: