67 lines
1.4 KiB
Groovy
67 lines
1.4 KiB
Groovy
#!/usr/bin/env groovy
|
|
@Library('jarvis') _
|
|
|
|
pipeline {
|
|
agent {
|
|
label 'westeros-agent'
|
|
}
|
|
options {
|
|
buildDiscarder(logRotator(numToKeepStr: '5'))
|
|
durabilityHint('PERFORMANCE_OPTIMIZED')
|
|
timestamps()
|
|
}
|
|
environment {
|
|
def alfred = null
|
|
def repo_name = sh returnStdout: true, script: 'basename -s .git $(git config --get remote.origin.url)'
|
|
def version = sh returnStdout: true, script: 'git describe --tags'
|
|
VERSION = "${version}"
|
|
SLACK_CHANNEL = 'admin-install'
|
|
}
|
|
stages {
|
|
stage("Alfred") {
|
|
steps {
|
|
script {
|
|
alfred = getAlfredConfig()
|
|
sh 'make -f Makefile.ci init'
|
|
}
|
|
}
|
|
}
|
|
stage("Build") {
|
|
steps {
|
|
sh 'make -f Makefile.ci build'
|
|
}
|
|
}
|
|
stage("Quality") {
|
|
steps {
|
|
parallel(
|
|
format: {
|
|
sh 'make -f Makefile.ci fmt'
|
|
},
|
|
lint: {
|
|
sh 'make -f Makefile.ci lint'
|
|
},
|
|
test: {
|
|
sh 'make -f Makefile.ci test'
|
|
}
|
|
)
|
|
}
|
|
}
|
|
stage('TO DO: build a debian package & publish it in packages.dm.gg ') {
|
|
when {
|
|
branch "master"
|
|
}
|
|
steps {
|
|
echo "Expecting something here"
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
success {
|
|
sendPipelineStatusToSlack('SUCCESS', "Gitlab - Docker - ${repo_name}")
|
|
}
|
|
failure {
|
|
sendPipelineStatusToSlack('FAILURE', "Gitlab - Docker - ${repo_name}")
|
|
}
|
|
}
|
|
}
|