Added automation for Google Play publication (using fastlane).

This commit is contained in:
Dennis Guse
2019-11-22 07:05:43 +01:00
parent fed6e31f9e
commit 1750236474
7 changed files with 75 additions and 5 deletions
+6 -2
View File
@@ -73,8 +73,12 @@ captures/
.idea/workspace.xml .idea/workspace.xml
# Keystore files # Keystore files
# Uncomment the following line if you do not want to check your keystore files in. *.jks
#*.jks
# External native build folder generated in Android Studio 2.2 and later # External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild .externalNativeBuild
# Fastlane
Appfile
releasePlayStore/*
Gemfile.lock
+22 -2
View File
@@ -1,6 +1,6 @@
# OpenTrack: Developer information # OpenTracks: Developer information
## Create releases for FDroid ## Craft new releases
1. Get next _version code_ (master branch): `git rev-list HEAD --count master` 1. Get next _version code_ (master branch): `git rev-list HEAD --count master`
2. Decide on _version name_ (semantic versioning) 2. Decide on _version name_ (semantic versioning)
@@ -11,6 +11,26 @@
7. Push commits and tags to public repository 7. Push commits and tags to public repository
8. Add changelog to tag (Github releases) 8. Add changelog to tag (Github releases)
## F-Droid
Application id: de.dennisguse.opentracks
It if it properly tagged F-Droid takes care of building the app and publishing.
Usually, it takes two days before the update is published (build, signed, and published).
The recent build activity can be found [here](https://f-droid.org/wiki/index.php?title=Special:RecentChanges&days=7&from=&hidebots=0&hideanons=1&hideliu=1&limit=500)
## Google Play Store
Application id: de.dennisguse.opentracks.playstore
Requirement: `gem install fastlane`
1. Update store meta data (e.g., description and screenshots)
`fastlane supply --version_code $(git rev-list HEAD --count master) --skip_upload_apk`
(requires API key)
2. Build signed apk
(requires keystore)
3. Upload signed apk to [Google Play Console](https://play.google.com/apps/publish)
## Translations (localization) ## Translations (localization)
Translations of the OpenTracks are handled in Transifex: [https://www.transifex.com/opentracks](https://www.transifex.com/opentracks/). Translations of the OpenTracks are handled in Transifex: [https://www.transifex.com/opentracks](https://www.transifex.com/opentracks/).
+3
View File
@@ -0,0 +1,3 @@
source "https://rubygems.org"
gem "fastlane"
+5
View File
@@ -74,6 +74,11 @@ android {
release { release {
minifyEnabled false minifyEnabled false
} }
releasePlayStore {
applicationIdSuffix ".playstore"
versionNameSuffix "-PlayStore"
}
} }
applicationVariants.all { variant -> applicationVariants.all { variant ->
+38
View File
@@ -0,0 +1,38 @@
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
#
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:android)
platform :android do
desc "Runs all the tests"
lane :test do
gradle(task: "test")
end
desc "Submit a new Beta Build to Crashlytics Beta"
lane :beta do
gradle(task: "clean assembleRelease")
crashlytics
# sh "your_script.sh"
# You can also use other beta testing services here
end
desc "Deploy a new version to the Google Play"
lane :deploy do
gradle(task: "clean assembleRelease")
upload_to_play_store
end
end
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB