update jenkinsfile
Some checks are pending
Test / Build
Intrepid/Prometeu/Runtime/pipeline/head This commit looks good
Intrepid/Prometeu/Runtime/pipeline/pr-master This commit looks good

This commit is contained in:
bQUARKz 2026-04-08 08:02:18 +01:00
parent 43ea8b80c9
commit 130c5fdd57
Signed by: bquarkz
SSH Key Fingerprint: SHA256:Z7dgqoglWwoK6j6u4QC87OveEq74WOhFN+gitsxtkf8
2 changed files with 53 additions and 16 deletions

View File

@ -19,7 +19,7 @@ clean:
cargo llvm-cov clean --workspace
coverage:
cargo llvm-cov --workspace --all-features --html --output-dir target/llvm-cov/html --fail-under-lines 0 --fail-under-functions 0 --fail-under-regions 0
cargo llvm-cov --workspace --all-features --html --output-dir target/llvm-cov/html
coverage-xml:
cargo llvm-cov report --cobertura --output-path target/llvm-cov/cobertura.xml

View File

@ -3,6 +3,10 @@ pipeline {
environment {
CARGO_TERM_COLOR = 'always'
MIN_LINES = '0'
MIN_FUNCTIONS = '0'
MIN_REGIONS = '0'
}
stages {
@ -12,22 +16,55 @@ pipeline {
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)
echo "Coverage summary:"
echo " Lines: ${LINES}%"
echo " Functions: ${FUNCTIONS}%"
echo " Regions: ${REGIONS}%"
FAIL=0
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 !(${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
echo "Coverage gate passed."
'''
recordCoverage(
tools: [[parser: 'COBERTURA', pattern: 'target/llvm-cov/cobertura.xml']],
sourceCodeRetention: 'LAST_BUILD',
enabledForFailure: true,
failOnError: false,
checksAnnotationScope: 'MODIFIED_LINES',
id: 'rust-coverage',
name: 'Rust Coverage',
checksName: 'Rust Coverage',
qualityGates: [
[metric: 'LINE', baseline: 'MODIFIED_LINES', threshold: 0.0],
[metric: 'LINE', baseline: 'PROJECT', threshold: 0.0],
[metric: 'BRANCH', baseline: 'PROJECT', threshold: 0.0]
]
)
// recordCoverage(
// tools: [[parser: 'COBERTURA', pattern: 'target/llvm-cov/cobertura.xml']],
// sourceCodeRetention: 'LAST_BUILD',
// enabledForFailure: true,
// failOnError: false,
// checksAnnotationScope: 'MODIFIED_LINES',
// id: 'rust-coverage',
// name: 'Rust Coverage',
// checksName: 'Rust Coverage',
// qualityGates: [
// [metric: 'LINE', baseline: 'MODIFIED_LINES', threshold: 0.0],
// [metric: 'LINE', baseline: 'PROJECT', threshold: 0.0],
// [metric: 'BRANCH', baseline: 'PROJECT', threshold: 0.0]
// ]
// )
}
}
} // Test