Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ops: code review workflow and test coverage #37

Merged
merged 32 commits into from
Nov 10, 2023
Merged

Conversation

manuraf
Copy link
Contributor

@manuraf manuraf commented Nov 9, 2023

List of Changes

This pull request introduces improvements to our test coverage reporting and integration with SonarQube for our project. The changes primarily revolve around the 'test-coverage' submodule, which plays a crucial role in assessing the unit test coverage of our entire project.

Here's a breakdown of the key enhancements included in this pull request:

'test-coverage' Submodule: We've enhanced the 'test-coverage' submodule to facilitate comprehensive unit test coverage verification for individual project modules. This submodule contains a range of configurations to support the assessment of test coverage for each module.

Integration with Maven Jacoco Plugin: We've integrated the powerful Maven Jacoco plugin, utilizing the 'report-aggregate' goal to aggregate the test coverage reports generated by individual modules. These aggregated reports are then sent to SonarQube for a holistic evaluation of test coverage and code quality.

Module-specific Jacoco Configuration: To ensure accurate test coverage reporting for each module, we've made it a requirement for every module to include the same plugin or library that generates the 'jacoco.xml' file summarizing the test coverage for that specific module.

Custom Profiles: We've configured custom profiles to simplify the process of running test coverage checks on individual modules. For example, to assess the 'onboarding-ms' module, you can execute the following script: 'mvn --projects :test-coverage --also-make verify -Ponboarding-ms,report,coverage'. The 'report' profile is dedicated to report generation, while the 'coverage' profile is designed for running the SonarQube scan in the cloud environment.

Motivation and Context

These improvements will not only enhance our ability to monitor and improve test coverage but also streamline the integration of test coverage data into our SonarQube analysis, thereby promoting better code quality and reliability.

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

@manuraf manuraf requested a review from a team as a code owner November 9, 2023 11:10
Copy link

sonarqubecloud bot commented Nov 9, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 131 Code Smells

0.0% 0.0% Coverage
2.6% 2.6% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

@manuraf manuraf merged commit 40c43d7 into develop Nov 10, 2023
6 of 7 checks passed
@manuraf manuraf deleted the code-review-ms branch November 10, 2023 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants