Migrate deploys to Fastlane (#3745)
* Migrate deploys to Fastlane * Couple minor fixes to onPush.yml * Copy paste is hard
43
.github/workflows/onPush.yml
vendored
|
@ -2,6 +2,11 @@ name: On Push
|
|||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
beta:
|
||||
description: 'true if this is a beta release'
|
||||
required: false
|
||||
default: 'false'
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
@ -21,6 +26,10 @@ jobs:
|
|||
distribution: 'temurin'
|
||||
java-version: '17'
|
||||
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
bundler-cache: true
|
||||
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
|
@ -65,7 +74,7 @@ jobs:
|
|||
path: ./**/*.apk
|
||||
|
||||
- name: Create Version File
|
||||
if: github.event_name == 'workflow_dispatch'
|
||||
if: github.event.inputs.beta == 'true'
|
||||
shell: bash
|
||||
env:
|
||||
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
|
||||
|
@ -73,7 +82,7 @@ jobs:
|
|||
echo $VERSION_CODE > ./app/build/outputs/version_code.txt
|
||||
|
||||
- name: Create Github Pre-Release
|
||||
if: github.event_name == 'workflow_dispatch'
|
||||
if: github.event.inputs.beta == 'true'
|
||||
uses: softprops/action-gh-release@v0.1.15
|
||||
with:
|
||||
tag_name: ${{ steps.rel_number.outputs.version }}
|
||||
|
@ -96,6 +105,10 @@ jobs:
|
|||
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
|
||||
run: ./gradlew appDistributionUploadFullRelease
|
||||
|
||||
- name: Prepare Amazon Listing
|
||||
if: github.event.inputs.beta == 'true'
|
||||
run: bundle exec fastlane prep_amazon
|
||||
|
||||
- name: Print `git status`
|
||||
run: git status
|
||||
|
||||
|
@ -115,6 +128,10 @@ jobs:
|
|||
distribution: 'temurin'
|
||||
java-version: '17'
|
||||
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
bundler-cache: true
|
||||
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
|
@ -154,24 +171,8 @@ jobs:
|
|||
run: ./gradlew bundleRelease
|
||||
|
||||
- name: Deploy to Playstore Internal
|
||||
env:
|
||||
KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }}
|
||||
KEYSTORE_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }}
|
||||
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
|
||||
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
|
||||
run: |
|
||||
./gradlew :wear:publishReleaseBundle :app:publishReleaseBundle
|
||||
./gradlew :automotive:publishReleaseBundle || echo "Failed to publish Automotive!"
|
||||
run: bundle exec fastlane deploy_internal
|
||||
|
||||
- name: Promote Internal to Beta
|
||||
if: github.event_name == 'workflow_dispatch'
|
||||
env:
|
||||
KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }}
|
||||
KEYSTORE_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }}
|
||||
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
|
||||
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
|
||||
run: |
|
||||
./gradlew promoteArtifact --from-track internal --promote-track beta
|
||||
|
||||
- name: Print `git status`
|
||||
run: git status
|
||||
if: github.event.inputs.beta == 'true'
|
||||
run: bundle exec fastlane promote_to_beta
|
||||
|
|
37
.github/workflows/release.yml
vendored
|
@ -11,36 +11,13 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
bundler-cache: true
|
||||
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v3.12.0
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: '17'
|
||||
- name: Promote to Beta to Production Play Store
|
||||
run: bundle exec fastlane promote_to_production
|
||||
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
|
||||
- name: Promote to Beta to Production
|
||||
env:
|
||||
KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }}
|
||||
KEYSTORE_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }}
|
||||
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
|
||||
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
|
||||
run: ./gradlew promoteArtifact --from-track beta --promote-track production
|
||||
|
||||
- name: Deploy to Playstore Listing
|
||||
env:
|
||||
KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }}
|
||||
KEYSTORE_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }}
|
||||
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
|
||||
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
|
||||
run: ./gradlew publishListing
|
||||
- name: Promote to Beta to Production Play Store
|
||||
run: bundle exec fastlane submit_amazon
|
3
.github/workflows/weekly.yaml
vendored
|
@ -33,4 +33,7 @@ jobs:
|
|||
repo: context.repo.repo,
|
||||
workflow_id: 'onPush.yml',
|
||||
ref: 'master',
|
||||
inputs: {
|
||||
"beta": "true",
|
||||
},
|
||||
})
|
||||
|
|
4
Gemfile
Normal file
|
@ -0,0 +1,4 @@
|
|||
source "https://rubygems.org"
|
||||
|
||||
gem "fastlane"
|
||||
gem "fastlane-plugin-amazon_app_submission"
|
220
Gemfile.lock
Normal file
|
@ -0,0 +1,220 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.6)
|
||||
rexml
|
||||
addressable (2.8.4)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.795.0)
|
||||
aws-sdk-core (3.180.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.71.0)
|
||||
aws-sdk-core (~> 3, >= 3.177.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.132.0)
|
||||
aws-sdk-core (~> 3, >= 3.179.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.6)
|
||||
aws-sigv4 (1.6.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.5)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.100.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
faraday-httpclient (~> 1.0)
|
||||
faraday-multipart (~> 1.0)
|
||||
faraday-net_http (~> 1.0)
|
||||
faraday-net_http_persistent (~> 1.0)
|
||||
faraday-patron (~> 1.0)
|
||||
faraday-rack (~> 1.0)
|
||||
faraday-retry (~> 1.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-cookie_jar (0.0.7)
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.0.4)
|
||||
multipart-post (~> 2)
|
||||
faraday-net_http (1.0.1)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.7)
|
||||
fastlane (2.214.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
aws-sdk-s3 (~> 1.0)
|
||||
babosa (>= 1.0.3, < 2.0.0)
|
||||
bundler (>= 1.12.0, < 3.0.0)
|
||||
colored
|
||||
commander (~> 4.6)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
emoji_regex (>= 0.1, < 4.0)
|
||||
excon (>= 0.71.0, < 1.0.0)
|
||||
faraday (~> 1.0)
|
||||
faraday-cookie_jar (~> 0.0.6)
|
||||
faraday_middleware (~> 1.0)
|
||||
fastimage (>= 2.1.0, < 3.0.0)
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
json (< 3.0.0)
|
||||
jwt (>= 2.1.0, < 3)
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (>= 2.0.0, < 3.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)
|
||||
simctl (~> 1.6.3)
|
||||
terminal-notifier (>= 2.0.0, < 3.0.0)
|
||||
terminal-table (>= 1.4.5, < 2.0.0)
|
||||
tty-screen (>= 0.6.3, < 1.0.0)
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
fastlane-plugin-amazon_app_submission (0.4.0)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.46.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.1)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
mini_mime (~> 1.0)
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.19.0)
|
||||
google-apis-core (>= 0.9.0, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
google-cloud-env (~> 1.0)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.3.1)
|
||||
google-cloud-storage (1.44.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.19.0)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (1.7.0)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
memoist (~> 0.16)
|
||||
multi_json (~> 1.11)
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.5)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.2)
|
||||
json (2.6.3)
|
||||
jwt (2.7.1)
|
||||
memoist (0.16.2)
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.2)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.3.0)
|
||||
nanaimo (0.3.0)
|
||||
naturally (2.2.1)
|
||||
optparse (0.1.1)
|
||||
os (1.1.4)
|
||||
plist (3.7.0)
|
||||
public_suffix (5.0.3)
|
||||
rake (13.0.6)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.6)
|
||||
rouge (2.0.7)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
security (0.1.3)
|
||||
signet (0.17.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
trailblazer-option (0.1.2)
|
||||
tty-cursor (0.7.1)
|
||||
tty-screen (0.8.1)
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.8.1)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.22.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)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
|
||||
PLATFORMS
|
||||
x64-mingw-ucrt
|
||||
|
||||
DEPENDENCIES
|
||||
fastlane
|
||||
fastlane-plugin-amazon_app_submission
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.10
|
|
@ -1,4 +1,3 @@
|
|||
import com.github.triplet.gradle.androidpublisher.ResolutionStrategy
|
||||
import com.google.gms.googleservices.GoogleServicesPlugin.GoogleServicesPluginConfig
|
||||
|
||||
plugins {
|
||||
|
@ -7,7 +6,6 @@ plugins {
|
|||
alias(libs.plugins.kotlin.kapt)
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
alias(libs.plugins.firebase.appdistribution)
|
||||
alias(libs.plugins.play.publisher)
|
||||
alias(libs.plugins.google.services)
|
||||
alias(libs.plugins.hilt)
|
||||
}
|
||||
|
@ -103,12 +101,6 @@ android {
|
|||
defaultConfig.buildConfigField("String[]", "APPLICATION_IDS", "{$values}")
|
||||
}
|
||||
|
||||
playConfigs {
|
||||
register("minimal") {
|
||||
enabled.set(false)
|
||||
}
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.isReturnDefaultValues = true
|
||||
}
|
||||
|
@ -129,14 +121,6 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
play {
|
||||
serviceAccountCredentials.set(file("playStorePublishServiceCredentialsFile.json"))
|
||||
track.set("internal")
|
||||
resolutionStrategy.set(ResolutionStrategy.IGNORE)
|
||||
// We will depend on the wear commit.
|
||||
commit.set(true)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":common"))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
android@home-assistant.io
|
|
@ -1 +0,0 @@
|
|||
https://www.home-assistant.io
|
|
@ -1 +0,0 @@
|
|||
en-US
|
|
@ -1,4 +1,3 @@
|
|||
import com.github.triplet.gradle.androidpublisher.ResolutionStrategy
|
||||
import com.google.gms.googleservices.GoogleServicesPlugin.GoogleServicesPluginConfig
|
||||
|
||||
plugins {
|
||||
|
@ -6,7 +5,6 @@ plugins {
|
|||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.kapt)
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
alias(libs.plugins.play.publisher)
|
||||
alias(libs.plugins.google.services)
|
||||
alias(libs.plugins.hilt)
|
||||
}
|
||||
|
@ -132,12 +130,6 @@ android {
|
|||
defaultConfig.buildConfigField("String[]", "APPLICATION_IDS", "{$values}")
|
||||
}
|
||||
|
||||
playConfigs {
|
||||
register("minimal") {
|
||||
enabled.set(false)
|
||||
}
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.isReturnDefaultValues = true
|
||||
}
|
||||
|
@ -158,14 +150,6 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
play {
|
||||
serviceAccountCredentials.set(file("playStorePublishServiceCredentialsFile.json"))
|
||||
track.set("automotive:internal")
|
||||
resolutionStrategy.set(ResolutionStrategy.IGNORE)
|
||||
// We will depend on the wear commit.
|
||||
commit.set(true)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":common"))
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ plugins {
|
|||
alias(libs.plugins.kotlin.android).apply(false)
|
||||
alias(libs.plugins.google.services).apply(false)
|
||||
alias(libs.plugins.firebase.appdistribution).apply(false)
|
||||
alias(libs.plugins.play.publisher).apply(false)
|
||||
alias(libs.plugins.hilt).apply(false)
|
||||
alias(libs.plugins.kotlin.kapt).apply(false)
|
||||
alias(libs.plugins.kotlin.parcelize).apply(false)
|
||||
|
@ -24,12 +23,6 @@ allprojects {
|
|||
}
|
||||
}
|
||||
|
||||
gradle.projectsEvaluated {
|
||||
project(":app").tasks.matching { it.name.startsWith("publish") }.configureEach {
|
||||
mustRunAfter(project(":wear").tasks.matching { it.name.startsWith("publish") })
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register("clean").configure {
|
||||
delete("build")
|
||||
}
|
||||
|
|
2
fastlane/Appfile
Normal file
|
@ -0,0 +1,2 @@
|
|||
json_key_file("app/playStorePublishServiceCredentialsFile.json")
|
||||
package_name("io.homeassistant.companion.android")
|
102
fastlane/Fastfile
Normal file
|
@ -0,0 +1,102 @@
|
|||
default_platform(:android)
|
||||
|
||||
platform :android do
|
||||
desc "Deploy internal tracks to Google Play"
|
||||
lane :deploy_internal do
|
||||
supply(
|
||||
track: 'internal',
|
||||
aab: 'app/build/outputs/bundle/fullRelease/app-full-release.aab',
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
)
|
||||
supply(
|
||||
track: 'wear:internal',
|
||||
aab: 'wear/build/outputs/bundle/release/wear-release.aab',
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
)
|
||||
supply(
|
||||
track: 'automotive:internal',
|
||||
aab: 'automotive/build/outputs/bundle/fullRelease/automotive-full-release.aab',
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
)
|
||||
end
|
||||
|
||||
desc "Promote internal tracks to beta on Google Play"
|
||||
lane :promote_to_beta do
|
||||
supply(
|
||||
track: 'internal',
|
||||
track_promote_to: 'beta',
|
||||
skip_upload_changelogs: true,
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
)
|
||||
supply(
|
||||
track: 'wear:internal',
|
||||
track_promote_to: 'wear:beta',
|
||||
skip_upload_changelogs: true,
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
)
|
||||
supply(
|
||||
track: 'automotive:internal',
|
||||
track_promote_to: 'automotive:beta',
|
||||
skip_upload_changelogs: true,
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
)
|
||||
end
|
||||
|
||||
desc "Promote beta tracks to production on Google Play"
|
||||
lane :promote_to_production do
|
||||
supply(
|
||||
track: 'beta',
|
||||
track_promote_to: 'production',
|
||||
skip_upload_changelogs: true,
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
)
|
||||
supply(
|
||||
track: 'wear:beta',
|
||||
track_promote_to: 'wear:production',
|
||||
skip_upload_changelogs: true,
|
||||
)
|
||||
supply(
|
||||
track: 'automotive:beta',
|
||||
track_promote_to: 'automotive:production',
|
||||
skip_upload_changelogs: true,
|
||||
)
|
||||
end
|
||||
|
||||
desc "Prep Amazon Appstore submission"
|
||||
lane :prep_amazon do
|
||||
amazon_app_submission(
|
||||
client_id: ENV["AMAZON_APPSTORE_CLIENT_ID"],
|
||||
client_secret: ENV["AMAZON_APPSTORE_CLIENT_SECRET"],
|
||||
app_id: ENV["AMAZON_APPSTORE_APP_ID"],
|
||||
apk_path: "app/build/outputs/apk/minimal/release/app-minimal-release.apk",
|
||||
upload_apk: true,
|
||||
changelogs_path: "fastlane/metadata/android/en-US/changelogs/",
|
||||
upload_changelogs: true,
|
||||
submit_for_review: false
|
||||
)
|
||||
end
|
||||
|
||||
desc "Submit to Amazon Appstore"
|
||||
lane :submit_amazon do
|
||||
amazon_app_submission(
|
||||
client_id: ENV["AMAZON_APPSTORE_CLIENT_ID"],
|
||||
client_secret: ENV["AMAZON_APPSTORE_CLIENT_SECRET"],
|
||||
app_id: ENV["AMAZON_APPSTORE_APP_ID"],
|
||||
submit_for_review: true
|
||||
)
|
||||
end
|
||||
end
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 185 KiB |
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 861 KiB |
After Width: | Height: | Size: 5.5 MiB |
After Width: | Height: | Size: 214 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 861 KiB |
After Width: | Height: | Size: 5.5 MiB |
After Width: | Height: | Size: 214 KiB |
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 4 KiB |
|
@ -47,7 +47,6 @@ play-services-threadnetwork = "16.0.0"
|
|||
play-services-home = "16.0.0"
|
||||
play-services-location = "21.0.1"
|
||||
play-services-wearable = "18.0.0"
|
||||
playPublisher = "3.8.4"
|
||||
preference-ktx = "1.2.0"
|
||||
recyclerview = "1.3.1"
|
||||
reorderable = "0.9.6"
|
||||
|
@ -74,7 +73,6 @@ kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
|||
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
|
||||
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
|
||||
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
|
||||
play-publisher = { id = "com.github.triplet.play", version.ref = "playPublisher" }
|
||||
|
||||
[libraries]
|
||||
accompanist-themeadapter-material = { module = "com.google.accompanist:accompanist-themeadapter-material", version.ref = "accompanist" }
|
||||
|
|
|
@ -2,7 +2,6 @@ plugins {
|
|||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.kapt)
|
||||
alias(libs.plugins.play.publisher)
|
||||
alias(libs.plugins.hilt)
|
||||
alias(libs.plugins.google.services)
|
||||
}
|
||||
|
@ -77,13 +76,6 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
play {
|
||||
serviceAccountCredentials.set(file("playStorePublishServiceCredentialsFile.json"))
|
||||
track.set("internal")
|
||||
resolutionStrategy.set(com.github.triplet.gradle.androidpublisher.ResolutionStrategy.IGNORE)
|
||||
commit.set(false)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":common"))
|
||||
|
||||
|
|