@Library('cadoles') _ pipeline { agent { dockerfile { label 'docker' filename 'Dockerfile' dir 'misc/jenkins' } } stages { stage('Run unit tests') { steps { script { withCredentials([ usernamePassword([ credentialsId: 'forge-jenkins', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD' ]) ]) { sh ''' git config --global credential.https://forge.cadoles.com.username "$GIT_USERNAME" git config --global credential.https://forge.cadoles.com.helper '!f() { test "$1" = get && echo "password=$GIT_PASSWORD"; }; f' export GOPRIVATE=forge.cadoles.com/arcad/edge make test ''' } } } } stage('Release') { when { anyOf { branch 'master' branch 'develop' } } steps { script { withCredentials([ usernamePassword([ credentialsId: 'forge-jenkins', usernameVariable: 'GITEA_RELEASE_USERNAME', passwordVariable: 'GITEA_RELEASE_PASSWORD' ]) ]) { sh 'make gitea-release' } def currentVersion = sh(returnStdout: true, script: 'make full-version').trim() if (currentVersion.endsWith('-dirty')) { unstable('Could not trigger emissary-firmware build, dirty version !') } else { build( job: "../emissary-firmware/${env.GIT_BRANCH}", parameters: [ [$class: 'StringParameterValue', name: 'emissaryRelease', value: currentVersion] ], wait: false ) } } } } } post { always { cleanWs() } } }