status-react/ci/tools/Jenkinsfile.playstore-meta
Jakub Sokołowski 0311983751
ci: upgrade Nix from 2.3.12 to 2.6.1
Due to changes in how Nix handles Git refs we need to specify
`refs/tags/` prefix in `package.json` to avoid the following error:
```
fatal: couldn't find remote ref refs/heads/v2.0.3-status-v6
error: program 'git' failed with exit code 128
```

I also had to rewrite some logic in `nix/scripts/source.sh` in order to
take account of single-user and multi-user installations.
We default to multi-user for Darwin, but not for any other OS due to
discovered issues with `nix-daemon` socket on Arch and open file limits.

I also rewrote `nix/scripts/setup.sh` and `/nix/scripts/purge.sh` to support
different types of installations. Both single-user and multi-user, as some
operating systems have issues with multi-user installations.

Resolves: https://github.com/status-im/status-react/issues/12832
Depends on: https://github.com/status-im/status-jenkins-lib/pull/37

Related changes:
* https://github.com/status-im/infra-ci/commit/84947b9f
* https://github.com/status-im/infra-ci/commit/bb98f5f3
* https://github.com/status-im/infra-ci/commit/f75d524d
* https://github.com/status-im/infra-ci/commit/d1fc92cd
* https://github.com/status-im/infra-ci/commit/87c4091e
* https://github.com/status-im/infra-ci/commit/8d6b6b3f
* https://github.com/status-im/infra-ci/commit/c4f13285
* https://github.com/status-im/infra-ci/commit/38ac698d

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-04-11 12:26:54 +02:00

56 lines
1.3 KiB
Plaintext

library 'status-jenkins-lib@v1.4.0'
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: 'google-play-api-key-json',
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
)
}
} }
}
}
}