ci: add Jenkinsfile.imports

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2022-10-29 19:02:40 +02:00 committed by Jakub
parent 3d98ad6991
commit 8115fdd0d0
1 changed files with 60 additions and 0 deletions

60
ci/Jenkinsfile.imports Normal file
View File

@ -0,0 +1,60 @@
library 'status-jenkins-lib@v1.5.1'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
pipeline {
agent { label 'linux' }
parameters {
choice(
name: 'VERBOSE',
description: 'Level of verbosity based on nimbus-build-system setup.',
choices: ['0', '1', '2']
)
}
options {
timestamps()
/* Prevent Jenkins jobs from running forever */
timeout(time: 120, unit: 'MINUTES')
/* manage how many builds we keep */
buildDiscarder(logRotator(
numToKeepStr: '10',
daysToKeepStr: '30',
artifactNumToKeepStr: '3',
))
/* Abort old PR builds. */
disableConcurrentBuilds(
abortPrevious: isPRBuild
)
}
environment {
TARGET = 'e2e'
/* Improve make performance */
MAKEFLAGS = "-j4 V=${params.VERBOSE}"
/* Disable colors in Nim compiler logs */
NIMFLAGS = '--colors:off'
/* Makefile assumes the compiler folder is included */
QTDIR = "/opt/qt/5.14.2/gcc_64"
/* Include library in order to compile the project */
LD_LIBRARY_PATH = "$QTDIR/lib:$WORKSPACE/vendor/status-go/build/bin:$WORKSPACE/vendor/status-keycard-go/build/libkeycard/"
}
stages {
stage('Build') {
steps { sh 'make statusq-sanity-checker' }
}
stage('Check') {
steps { sh 'make run-statusq-sanity-checker' }
}
}
post {
success { script { github.notifyPR(true) } }
failure { script { github.notifyPR(false) } }
cleanup { cleanWs() }
}
}