deskcontrol/Jenkinsfile

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'
}
}
}
}