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.
- Specify in the
noxconfig.pythe relative path to the project's source code inConfig.sourcesource: 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
- Specify in the
noxconfig.pythe relative path to the project's source code inConfig.sourcesource: 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
- #451: Added nox task to execute pysonar & added Sonar to the CI
- #451: Reduced scope of nox tasks
lint:code(pylint) andlint:security(bandit) to analyze only the package code