#!/usr/bin/env groovy library 'status-jenkins-lib@v1.8.8' pipeline { agent { label 'linux' } options { disableConcurrentBuilds() /* manage how many builds we keep */ buildDiscarder(logRotator( numToKeepStr: '20', daysToKeepStr: '30', )) } environment { GIT_COMMITTER_NAME = 'status-im-auto' GIT_COMMITTER_EMAIL = 'auto@status.im' } stages { stage('Install') { steps { script { nix.develop('yarn install') } } } stage('Build') { steps { script { nix.develop('yarn build') jenkins.genBuildMetaJSON('build/build.json') } } } stage('Publish') { steps { sshagent(credentials: ['status-im-auto-ssh']) { sh """ ghp-import \ -b ${deployBranch()} \ -c ${deployDomain()} \ -p build """ } } } } post { cleanup { cleanWs() } } } def isMasterBranch() { GIT_BRANCH ==~ /.*master/ } def deployBranch() { isMasterBranch() ? 'deploy-master' : 'deploy-develop' } def deployDomain() { isMasterBranch() ? 'logos.co' : 'dev.logos.co' }