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