diff --git a/.gitignore b/.gitignore index 918e6e2791..f0e9afdab8 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,6 @@ test_goldens/failures/ !**/ios/**/default.pbxuser !**/ios/**/default.perspectivev3 !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages + +**/google-services.json +**/GoogleService-Info.plist diff --git a/README.md b/README.md index 4a1f3ea179..ace86dc173 100644 --- a/README.md +++ b/README.md @@ -123,29 +123,33 @@ determine how long to display the splash animation at launch. ## Releasing -
- for flutter-hackers members +*must be a `flutter-hackers` member* -The process is largely automated and easy to set in motion. +A set of GitHub workflows are available to help with releasing the Flutter Gallery, one per releasing platform. -First things first, bump the `pubspec.yaml` version number. This can be in a PR making a change or a separate PR. +1. For Android, download the relevant [Firebase configuration file](https://firebase.corp.google.com/u/0/project/gallery-flutter-dev/settings/general) (e.g. `google-services.json`). +1. Bump the `pubspec.yaml` version number. This can be in a PR making a change or a separate PR. Use [semantic versioning](https://semver.org/) to determine -which part to increment. The version number after the `+` should also be incremented. For example `1.2.3+010203` +which part to increment. **The version number after the `+` should also be incremented**. For example `1.2.3+010203` with a patch should become `1.2.4+010204`. -Then, use the following workflows. It is strongly recommended to use the staging/beta environments when available, before deploying to production. - -- [Deploy to Play Store](https://github.com/flutter/gallery/actions/workflows/release_deploy_play_store.yml): Uses Fastlane to create a [beta](https://play.google.com/console/u/0/developers/7661132837216938445/app/4974617875198505129/tracks/open-testing) (freely available on the [Play Store](https://play.google.com/apps/testing/io.flutter.demo.gallery)), promote an existing beta to production, or publish straight to [production](https://play.google.com/console/u/0/developers/7661132837216938445/app/4974617875198505129/tracks/production) ([Play Store](https://play.google.com/store/apps/details?id=io.flutter.demo.gallery)). - > **Note** - > Once an .aab is released with a particular version number, it can't be replaced. The version number must be incremented again. +1. Run GitHub workflow. - [Deploy to web](https://github.com/flutter/gallery/actions/workflows/release_deploy_web.yml): Deploys a web build to the Firebase-hosted [staging](https://gallery-flutter-staging.web.app) or [production](https://gallery.flutter.dev) site. -- [Draft GitHub release](https://github.com/flutter/gallery/actions/workflows/release_draft_github_release.yml): Drafts a GitHub release, including automatically generated release notes and packaged builds for Android, macOS, Linux, and Windows. +- [Deploy to Play Store](https://github.com/flutter/gallery/actions/workflows/release_deploy_play_store.yml): Uses Fastlane to create a [beta](https://play.google.com/console/u/0/developers/7661132837216938445/app/4974617875198505129/tracks/open-testing) (freely available on the [Play Store](https://play.google.com/apps/testing/io.flutter.demo.gallery)) or promote an existing beta to [production](https://play.google.com/console/u/0/developers/7661132837216938445/app/4974617875198505129/tracks/production) ([Play Store](https://play.google.com/store/apps/details?id=io.flutter.demo.gallery)). + > **Note** + > Once an .aab is created with a particular version number, it can't be replaced. The pubspec version number must be incremented again. + +- [Draft GitHub release](https://github.com/flutter/gallery/actions/workflows/release_draft_github_release.yml): Drafts a GitHub release, including packaged builds for Android, macOS, Linux, and Windows. Release notes can be automatically generated. The release draft is private until published. Upon being published, the specified version tag will be created. +- [Publish on Windows Store](): Releasing to the Windows Store. > **Note** - > The release draft is private until published. Upon being published, the specified version tag will be created. -- [Publish on Windows Store](): A workflow file for releasing to the Windows Store. This repository is not currently set up to publish new versions of [the current Windows Store listing](https://www.microsoft.com/store/productId/9PDWCTDFC7QQ). Requires running `msstore init` within the repository and setting repository/environment secrets . + > This repository is not currently set up to publish new versions of [the current Windows Store listing](https://www.microsoft.com/store/productId/9PDWCTDFC7QQ). Requires running `msstore init` within the repository and setting repository/environment secrets . > See the instructions in the [documentation](https://docs.flutter.dev/deployment/windows#github-actions-cicd) for more information. -For posterity, information about doing these things locally is available at [go/flutter-gallery-manual-deployment](http://go/flutter-gallery-manual-deployment). +
+ Escape hatch + +If the above GitHub workflows aren't functional (#759), releasing can be done semi-manually. Since this requires obtaining environment secrets, this can only be done by a Googler. See go/flutter-gallery-manual-deployment. +
diff --git a/android/app/build.gradle b/android/app/build.gradle index 659517e629..22ea62c950 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -2,6 +2,7 @@ plugins { id "com.android.application" id "kotlin-android" id "dev.flutter.flutter-gradle-plugin" + id "com.google.firebase.crashlytics" } def localProperties = new Properties() diff --git a/android/app/google-services.json b/android/app/google-services.json deleted file mode 100644 index 2667d6758b..0000000000 --- a/android/app/google-services.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "project_info": { - "project_number": "934901241041", - "firebase_url": "https://gallery-flutter-dev.firebaseio.com", - "project_id": "gallery-flutter-dev", - "storage_bucket": "gallery-flutter-dev.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:934901241041:android:d4698fe26714717fe621f0", - "android_client_info": { - "package_name": "io.flutter.demo.gallery" - } - }, - "oauth_client": [ - { - "client_id": "934901241041-dmf7g1li5dl70t7ldpranbi570nbhscu.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCX61HWVIf6k2XZYk43DxWAqE2tp9kwmEY" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "934901241041-dmf7g1li5dl70t7ldpranbi570nbhscu.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 50534f34ae..de56c0eb8b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,51 +1,51 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml index 449a9f9308..0d4ea1f7a9 100644 --- a/android/app/src/main/res/values-night/styles.xml +++ b/android/app/src/main/res/values-night/styles.xml @@ -5,12 +5,14 @@ @drawable/launch_background + @color/backgroundColor + #241E30 - #030303 + #E6EBEB + + +