ci: add Jenkinsfile for updating Play Store metadata

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2020-05-05 13:32:09 +02:00
parent c6b1217437
commit 3ae5f87be3
No known key found for this signature in database
GPG Key ID: 4EF064D0E6D63020
4 changed files with 74 additions and 1 deletions

11
RELEASE.md Normal file
View File

@ -0,0 +1,11 @@
# Description
This document explains some of the steps that are involved in relseases.
## PlayStore Metadata Updates
You can update Play Store releae metadata using `fastlane android upload_metadata`.
But that requires credentials necessary for accessing Play Store API. The simpler way is to edit files contained within [`fastlane/metadata`](metadata) and run the following CI job:
https://ci.status.im/job/status-tools/job/update-playstore-metadata/

View File

@ -0,0 +1,55 @@
library 'status-react-jenkins@v1.1.1'
pipeline {
agent { label 'linux' }
environment {
LANG = 'en_US.UTF-8'
LANGUAGE = 'en_US.UTF-8'
LC_ALL = 'en_US.UTF-8'
TARGET = 'ios'
FASTLANE_DISABLE_COLORS = 1
/* See nix/README.md */
NIX_IGNORE_SYMLINK_STORE = 1
/* avoid writing to r/o /nix */
GEM_HOME = '~/.rubygems'
}
options {
timestamps()
/* Disable concurrent jobs */
disableConcurrentBuilds()
/* Prevent Jenkins jobs from running forever */
timeout(time: 5, unit: 'MINUTES')
/* Don't keep more than 50 builds */
buildDiscarder(logRotator(numToKeepStr: '50'))
}
stages {
stage('Prep') {
steps { script {
nix.shell(
'bundle install --gemfile=fastlane/Gemfile',
attr: 'shells.fastlane',
)
} }
}
stage('Play Store Update'){
steps { script {
withCredentials([
string(
credentialsId: 'SUPPLY_JSON_KEY_DATA',
variable: 'GOOGLE_PLAY_JSON_KEY'
),
]) {
nix.shell(
'bundle exec --gemfile=fastlane/Gemfile fastlane android upload_metadata',
keepEnv: ['FASTLANE_DISABLE_COLORS', 'GOOGLE_PLAY_JSON_KEY'],
attr: 'shells.fastlane',
pure: false
)
}
} }
}
}
}

View File

@ -289,7 +289,14 @@ platform :android do
lane :upload_metadata do
upload_to_play_store(
skip_upload_apk: true,
json_key_data: ENV['GOOGLE_PLAY_JSON_KEY']
skip_upload_changelogs: true,
json_key_data: ENV['GOOGLE_PLAY_JSON_KEY'],
# These don't matter much as we're not uploading any new builds
# and indeed, we're skipping changelogs. This is just so that
# the library can find what it thinks it needs and continue with
# the work we actually want it to do.
track: 'production',
version_code: '2020042307'
)
end