diff --git a/Makefile b/Makefile index b6ee01f5..81ea3e42 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ clean: cargo llvm-cov clean --workspace coverage: - cargo llvm-cov --workspace --all-features --html --output-dir target/llvm-cov/html + cargo llvm-cov --workspace --all-features --html --output-dir target/llvm-cov coverage-xml: cargo llvm-cov report --cobertura --output-path target/llvm-cov/cobertura.xml diff --git a/files/config/Jenkinsfile b/files/config/Jenkinsfile index 7447d8d5..cd2c0915 100644 --- a/files/config/Jenkinsfile +++ b/files/config/Jenkinsfile @@ -2,6 +2,9 @@ pipeline { agent any environment { + CARGO_HOME = '/var/jenkins_home/.cargo' + CARGO_TARGET_DIR = 'target' + CARGO_TERM_COLOR = 'always' MIN_LINES = '60' @@ -12,44 +15,48 @@ pipeline { stages { stage('Build') { steps { - withChecks(name: 'Test', includeStage: true) { - sh ''' - set -eux - make ci cobertura + sh ''' + set -eux + make ci cobertura - LINES=$(jq -r '.data[0].totals.lines.percent' target/llvm-cov/summary.json) - FUNCTIONS=$(jq -r '.data[0].totals.functions.percent' target/llvm-cov/summary.json) - REGIONS=$(jq -r '.data[0].totals.regions.percent' target/llvm-cov/summary.json) + LINES=$(jq -r '.data[0].totals.lines.percent' target/llvm-cov/summary.json) + FUNCTIONS=$(jq -r '.data[0].totals.functions.percent' target/llvm-cov/summary.json) + REGIONS=$(jq -r '.data[0].totals.regions.percent' target/llvm-cov/summary.json) - echo "Coverage summary:" - echo " Lines: ${LINES}%" - echo " Functions: ${FUNCTIONS}%" - echo " Regions: ${REGIONS}%" + echo "Coverage summary:" + echo " Lines: ${LINES}%" + echo " Functions: ${FUNCTIONS}%" + echo " Regions: ${REGIONS}%" - FAIL=0 + FAIL=0 - awk "BEGIN { exit !(${LINES} < ${MIN_LINES}) }" && { - echo "Lines coverage ${LINES}% is below minimum ${MIN_LINES}%" - FAIL=1 - } || true + awk "BEGIN { exit !(${LINES} < ${MIN_LINES}) }" && { + echo "Lines coverage ${LINES}% is below minimum ${MIN_LINES}%" + FAIL=1 + } || true - awk "BEGIN { exit !(${FUNCTIONS} < ${MIN_FUNCTIONS}) }" && { - echo "Functions coverage ${FUNCTIONS}% is below minimum ${MIN_FUNCTIONS}%" - FAIL=1 - } || true + awk "BEGIN { exit !(${FUNCTIONS} < ${MIN_FUNCTIONS}) }" && { + echo "Functions coverage ${FUNCTIONS}% is below minimum ${MIN_FUNCTIONS}%" + FAIL=1 + } || true - awk "BEGIN { exit !(${REGIONS} < ${MIN_REGIONS}) }" && { - echo "Regions coverage ${REGIONS}% is below minimum ${MIN_REGIONS}%" - FAIL=1 - } || true + awk "BEGIN { exit !(${REGIONS} < ${MIN_REGIONS}) }" && { + echo "Regions coverage ${REGIONS}% is below minimum ${MIN_REGIONS}%" + FAIL=1 + } || true - if [ "$FAIL" -ne 0 ]; then - echo "Coverage gate failed." - exit 1 - fi + if [ "$FAIL" -ne 0 ]; then + echo "Coverage gate failed." + exit 1 + fi - echo "Coverage gate passed." - ''' + echo "Coverage gate passed." + ''' +// withChecks(name: 'Test', includeStage: true) { +// sh ''' +// set -eux +// make ci cobertura +// ''' // recordCoverage( // tools: [[parser: 'COBERTURA', pattern: 'target/llvm-cov/cobertura.xml']], // sourceCodeRetention: 'LAST_BUILD', @@ -65,23 +72,23 @@ pipeline { // [metric: 'BRANCH', baseline: 'PROJECT', threshold: 0.0] // ] // ) - } +// } } } // Test stage('Reports') { steps { - script { - publishHTML(target: [ - allowMissing: false, - alwaysLinkToLastBuild: true, - keepAll: true, - reportDir: 'target/llvm-cov/html', - reportFiles: 'index.html', - reportName: 'Rust Coverage HTML', - reportTitles: 'Coverage Report' - ]) - } + publishHTML(target: [ + allowMissing: false, + alwaysLinkToLastBuild: true, + keepAll: true, + reportDir: 'target/llvm-cov/html', + reportFiles: 'index.html', + reportName: 'Rust Coverage HTML', + reportTitles: 'Coverage Report' + ]) + + archiveArtifacts artifacts: 'target/llvm-cov/**', fingerprint: true } } // Reports }