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
+23 -3
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)
@@ -9,7 +9,27 @@
5. Create commit with all changes 5. Create commit with all changes
6. Tag newly create commit with _version name_ (e.g., v3.2.1) 6. Tag newly create commit with _version name_ (e.g., v3.2.1)
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)
+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