44 lines
1.3 KiB
Groovy
44 lines
1.3 KiB
Groovy
pipeline {
|
|
agent {
|
|
docker {
|
|
image 'debian:stretch-slim'
|
|
}
|
|
}
|
|
|
|
stages {
|
|
stage('Requirements') {
|
|
steps {
|
|
sh 'apt-get -y update && apt-get -y install 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 'cd .piolibdeps/Homie/scripts/ota_updater'
|
|
sh 'pip install -r requirements.txt'
|
|
sh 'ota_updater.py -l mqtt.jcktrue.dk -i "../../../../.pioenvs/nodemcu/firmware.elf"'
|
|
}
|
|
}
|
|
}
|
|
}
|