Skip to content

Commit

Permalink
[Misc] Fix the quality build in order to get correct coverage data
Browse files Browse the repository at this point in the history
* Make sure that the 2 builds are executed on the same node, one after another (since the 2nd one depends on the 1st one)
  • Loading branch information
vmassol committed Sep 11, 2024
1 parent c183064 commit 56731f8
Showing 1 changed file with 23 additions and 21 deletions.
44 changes: 23 additions & 21 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -114,27 +114,29 @@ def builds = [
)
},
'Quality' : {
// Run the quality checks.
// Notes for step 1:
// - The build executes jacoco to generate a single jacoco exec file containing the results of the coverage
// for all tests from all modules. This why we need -Pcoverage and -Dxwiki.jacoco.itDestFile.
build(
name: 'Quality Step 1',
goals: 'clean install',
profiles: 'repository-snapshots,quality,legacy,coverage',
properties: '-Dxwiki.jacoco.itDestFile=`pwd`/target/jacoco-it.exec'
)
// Notes for step 2:
// - We generate the jacoco reports for all modules (all from the single jacoco-it.exec file)
// - We then generate the sonar analysis and upload to Sonarcloud with the sonar:sonar goal.
// - Sonar uses the jacoco report files and it's thus important that the sonar:sonar goal is executed after
// the jacoco:report one.
build(
name: 'Quality Step 2',
goals: 'jacoco:report sonar:sonar',
profiles: 'repository-snapshots,quality,legacy,coverage',
properties: '-Dxwiki.jacoco.itDestFile=`pwd`/target/jacoco-it.exec'
)
node() {
// Run the quality checks.
// Notes for step 1:
// - The build executes jacoco to generate a single jacoco exec file containing the results of the coverage
// for all tests from all modules. This why we need -Pcoverage and -Dxwiki.jacoco.itDestFile.
buildInsideNode(
name: 'Quality Step 1',
goals: 'clean install',
profiles: 'repository-snapshots,quality,legacy,coverage',
properties: '-Dxwiki.jacoco.itDestFile=`pwd`/target/jacoco-it.exec'
)
// Notes for step 2:
// - We generate the jacoco reports for all modules (all from the single jacoco-it.exec file)
// - We then generate the sonar analysis and upload to Sonarcloud with the sonar:sonar goal.
// - Sonar uses the jacoco report files and it's thus important that the sonar:sonar goal is executed after
// the jacoco:report one.
buildInsideNode(
name: 'Quality Step 2',
goals: 'jacoco:report sonar:sonar',
profiles: 'repository-snapshots,quality,legacy,coverage',
properties: '-Dxwiki.jacoco.itDestFile=`pwd`/target/jacoco-it.exec'
)
}
}
]

Expand Down

0 comments on commit 56731f8

Please sign in to comment.