diff --git a/.ci/gitler.groovy b/.ci/gitler.groovy index 6def170..ee431d0 100644 --- a/.ci/gitler.groovy +++ b/.ci/gitler.groovy @@ -2,16 +2,22 @@ def call(config) { config.pr.setBuildStatus(config, 'PENDING', 'Toll gate (Gitler)', 'Checking...', '${BUILD_URL}flowGraphTable/') if (env.CHANGE_TARGET == 'master' && - (env.CHANGE_AUTHOR != 'bblacey' || env.CHANGE_AUTHOR != 'd00616' || - env.CHANGE_AUTHOR != 'fallberg' || env.CHANGE_AUTHOR != 'henrikekblad' || - env.CHANGE_AUTHOR != 'marceloaqno' || env.CHANGE_AUTHOR != 'mfalkvidd' || - env.CHANGE_AUTHOR != 'scalz' || env.CHANGE_AUTHOR != 'tbowmo' || - env.CHANGE_AUTHOR != 'tekka007' || env.CHANGE_AUTHOR != 'user2684' || + (env.CHANGE_AUTHOR != 'bblacey' && env.CHANGE_AUTHOR != 'd00616' && + env.CHANGE_AUTHOR != 'fallberg' && env.CHANGE_AUTHOR != 'henrikekblad' && + env.CHANGE_AUTHOR != 'marceloaqno' && env.CHANGE_AUTHOR != 'mfalkvidd' && + env.CHANGE_AUTHOR != 'scalz' && env.CHANGE_AUTHOR != 'tbowmo' && + env.CHANGE_AUTHOR != 'tekka007' && env.CHANGE_AUTHOR != 'user2684' && env.CHANGE_AUTHOR != 'Yveaux')) { - config.pr.setBuildStatus(config, 'FAILURE', 'Toll gate (Gitler)', 'This pull request targets master. That is not permitted!', '') + config.pr.setBuildStatus(config, 'FAILURE', 'Toll gate (Gitler)', 'This pull request targets master. That is not permitted for '+env.CHANGE_AUTHOR, '') error "This pull request targets master. That is not permitted!" } + else if (env.CHANGE_TARGET == 'master') + { + echo env.CHANGE_AUTHOR + ' is a valid author for targeting master branch, skipping further validation' + config.pr.setBuildStatus(config, 'SUCCESS', 'Toll gate (Gitler)', 'Pass', '') + return + } dir(config.repository_root) { step([$class: 'GitChangelogRecorder', config: [configFile: 'git-changelog-settings.json', @@ -102,4 +108,4 @@ def call(config) { } } -return this \ No newline at end of file +return this diff --git a/.ci/pipeline.groovy b/.ci/pipeline.groovy index f3c244b..15a49b8 100644 --- a/.ci/pipeline.groovy +++ b/.ci/pipeline.groovy @@ -121,6 +121,9 @@ def call(Closure body) { stage('ArduinoMega (tests)') { arduino.buildArduinoMega(config, config.tests, 'Tests') } + } + }, ArduinoExampleBuilds: { + lock(quantity: 1, resource: 'arduinoExampleEnv') { stage('MySensorsMicro (examples)') { arduino.buildMySensorsMicro(config, config.examples, 'Examples') } diff --git a/.ci/static_analysis.groovy b/.ci/static_analysis.groovy index 41725cc..7c4be00 100644 --- a/.ci/static_analysis.groovy +++ b/.ci/static_analysis.groovy @@ -5,7 +5,7 @@ def cppCheck(config) { sh """#!/bin/bash +x cd ${config.repository_root} echo "Doing cppcheck for AVR..." - git diff --name-only origin/${env.CHANGE_TARGET}..${config.git_sha} | sed '/.ci\\/gitler.sh/d' | sed '/README.md/d' | cppcheck -j 4 --file-list=- --enable=style,information --platform=.mystools/cppcheck/config/avr.xml --suppressions-list=.mystools/cppcheck/config/suppressions.cfg --includes-file=.mystools/cppcheck/config/includes.cfg --language=c++ --xml --xml-version=2 2> cppcheck-avr.xml + find . -type f \\( -iname \\*.c -o -iname \\*.cpp -o -iname \\*.ino \\) | cppcheck -j 4 --file-list=- --enable=style,information --platform=.mystools/cppcheck/config/avr.xml --suppressions-list=.mystools/cppcheck/config/suppressions.cfg --includes-file=.mystools/cppcheck/config/includes.cfg --language=c++ --xml --xml-version=2 2> cppcheck-avr.xml cppcheck-htmlreport --file="cppcheck-avr.xml" --title="cppcheck-avr" --report-dir=cppcheck-avr_cppcheck_reports --source-dir=.""" publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: true, diff --git a/.mystools/cppcheck/options.sh b/.mystools/cppcheck/options.sh index a907578..0e6d8d5 100755 --- a/.mystools/cppcheck/options.sh +++ b/.mystools/cppcheck/options.sh @@ -5,6 +5,7 @@ OPTIONS="--quiet \ --force \ --enable=style,information \ -DCPPCHECK \ + --language=c++ \ --library=${LIBRARY:-avr} \ --platform="${TOOLCONFIG}"/${PLATFORM:-avr.xml} \ --includes-file="${TOOLCONFIG}"/includes.cfg \ diff --git a/.mystools/cppcheck/run.sh b/.mystools/cppcheck/run.sh index f674d45..297af54 100755 --- a/.mystools/cppcheck/run.sh +++ b/.mystools/cppcheck/run.sh @@ -7,11 +7,15 @@ # --cached or for changed if [[ $# = 0 ]]; then for file in $(modifiedSourceFiles); do - runBundle $file + if [[ $file != *.h ]]; then + runBundle $file + fi done elif [[ $1 = '--cached' ]]; then for file in $(stagedSourceFiles); do - runBundle $file + if [[ $file != *.h ]]; then + runBundle $file + fi done else eval "set -- $(git rev-parse --sq --prefix "$GIT_PREFIX" "$@")"