67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/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}")
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |