library 'status-jenkins-lib@v1.6.3' /* 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 = 'imports' /* 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' } } stage('Upload') { steps { script { env.PKG_URL = "${currentBuild.absoluteUrl}/consoleText" } } } } post { success { script { github.notifyPR(true) } } failure { script { github.notifyPR(false) } } cleanup { cleanWs() } } }