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.py
the relative path to the project’s source code inConfig.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.py
the relative path to the project’s source code inConfig.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) andlint:security
(bandit) to analyze only the package code