pipeline { agent { label 'fastlane' } parameters { booleanParam( name: 'RUN_E2E', defaultValue: false, description: 'If true triggers end-to-end tests.' ) } options { buildDiscarder(logRotator( numToKeepStr: '20', daysToKeepStr: '30', artifactNumToKeepStr: '10', )) } environment { LANG = 'en_US.UTF-8' LANGUAGE = 'en_US.UTF-8' LC_ALL = 'en_US.UTF-8' FASTLANE_DISABLE_COLORS=1 REALM_DISABLE_ANALYTICS=1 } stages { stage('Prep') { steps { script { print "Running ${params.BUILD_TYPE} build!" /* Necessary to load methods */ mobile = load 'ci/mobile.groovy' mobile.prep(params.BUILD_TYPE) } } } stage('Lint') { steps { script { mobile.runLint() } } } stage('Tests') { steps { script { mobile.runTests() } } } stage('Build') { steps { script { mobile.leinBuild() } } } stage('Compile') { steps { script { api = mobile.ios.compile(params.BUILD_TYPE) } } } stage('Archive') { steps { script { archiveArtifacts api } } } stage('Upload') { steps { script { env.DIAWI_URL = mobile.ios.uploadToDiawi() } } } } }