42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
pipeline {
 | 
						|
    agent {
 | 
						|
        docker {
 | 
						|
            image 'debian:stretch-slim' 
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    stages {
 | 
						|
        stage('Requirements') { 
 | 
						|
            steps {
 | 
						|
                sh 'apt-get -y update && apt-get -y install git python-pip cloc && pip install platformio' 
 | 
						|
            }
 | 
						|
        }
 | 
						|
        stage('Build') {
 | 
						|
            steps {
 | 
						|
                sh 'pio run'
 | 
						|
            }
 | 
						|
            post {
 | 
						|
                always {
 | 
						|
                    archiveArtifacts '.pioenvs/nodemcu/firmware.bin, .pioenvs/nodemcu/firmware.elf'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        stage('Coverage') {
 | 
						|
            steps {
 | 
						|
                sh 'cloc --by-file --xml --out=.test/cloc.xml src include'
 | 
						|
            }
 | 
						|
            post {
 | 
						|
                always {
 | 
						|
                    recordIssues(tools: [taskScanner(ignoreCase: true, includePattern: 'src/*.*', normalTags: 'TODO')])
 | 
						|
                    sloccountPublish encoding: '', pattern: '.test/cloc.xml'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        stage('Upload') {
 | 
						|
            steps {
 | 
						|
                sh 'make otaupload'
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |