1.5.0 - 2025-06-18¶
Summary¶
This version of the PTB adds nox task sonar:check, see #451. This allows us to
use SonarQube Cloud to analyze, visualize, & track linting, security, & coverage. To
set it up, you’ll need to execute the following instructions.
For a public project¶
- Specify in the - noxconfig.pythe relative path to the project’s source code in- Config.source- source: Path = Path("exasol/<project-source-folder>")
- Add the ‘SONAR_TOKEN’ to the ‘Organization secrets’ in GitHub (this requires a person being a GitHub organization owner) 
- Activate the SonarQubeCloud App 
- Create a project on SonarCloud 
- Add the following information to the project’s file - pyproject.toml- [tool.sonar] projectKey = "com.exasol:<project-key>" hostUrl = "https://sonarcloud.io" organization = "exasol" 
- Post-merge, update the branch protections to include SonarQube analysis 
For a private project¶
- Specify in the - noxconfig.pythe relative path to the project’s source code in- Config.source- source: Path = Path("exasol/<project-source-folder>")
- Add the ‘PRIVATE_SONAR_TOKEN’ to the ‘Organization secrets’ in GitHub (this requires a person being a GitHub organization owner) 
- Activate the exasonarqubeprchecks App 
- Create a project on https://sonar.exasol.com 
- Add the following information to the project’s file - pyproject.toml- [tool.sonar] projectKey = "com.exasol:<project-key>" hostUrl = "https://sonar.exasol.com" organization = "exasol" 
- Post-merge, update the branch protections to include SonarQube analysis from exasonarqubeprchecks 
✨ Features¶
- #451: Added nox task to execute pysonar & added Sonar to the CI 
⚒️ Refactorings¶
- #451: Reduced scope of nox tasks - lint:code(pylint) and- lint:security(bandit) to analyze only the package code