ci(sonar): set up SonarQube Cloud monorepo analysis - #149
ci(sonar): set up SonarQube Cloud monorepo analysis#149devin-ai-integration[bot] wants to merge 11 commits into
Conversation
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
✅ Deploy Preview for adt-cli canceled.
|
|
View your CI Pipeline Execution ↗ for commit 8eee5b9
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗ ☁️ Nx Cloud last updated this comment at |
|
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 17 |
| Duplication | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
Co-Authored-By: Petr Plenkov <petr.plenkov@gmail.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |




Summary
Sets up SonarQube Cloud monorepo support so each Nx project in the
abapify/adt-cliworkspace is analyzed as a separate Sonar project, all bound to the same repository.What changed:
.github/workflows/sonar.ymlthat readssonar-matrix.jsonand runs a parallel matrix ofSonarSource/sonarqube-scan-action@v8jobs. Each job reuses the sharedsonar-project.propertiesand passes a per-projectsonar.projectKey,sonar.projectName, andsonar.sources.scripts/sonar-monorepo.tsto derive the project list fromnx show projects, build a Sonar-safe key/name mapping, and regenerate the matrix and bulk-import files.sonar-monorepo.json(for bulk import into SonarQube Cloud) andsonar-matrix.json(for the CI matrix). Theadt-clipackage keeps the existingabapify_adt-clikey; all other projects useabapify_adt-cli_<suffix>.After merging, create the Sonar projects by importing
sonar-monorepo.jsonin SonarQube Cloud's monorepo setup wizard, and ensure theSONAR_TOKENrepository secret is set.Link to Devin session: https://app.devin.ai/sessions/d423b79ba4f64c8bb0bf28c446a6d341
Requested by: @ThePlenkov
Summary by cubic
Sets up SonarQube Cloud monorepo analysis so each Nx project in
abapify/adt-cliruns as its own Sonar project via GitHub Actions. Keeps theabapify_adt-clikey for@abapify/adt-cli, validatesSONAR_TOKEN, and tightens CI/Codacy rules.New Features
.github/workflows/sonar.ymlwith a token check and a matrix fromsonar-matrix.json, pinned to full commit SHAs; runsSonarSource/sonarqube-scan-action@v8with an inlinenosemgrepsuppression.scripts/sonar-monorepo.tsto derive keys/names/sources and generatesonar-monorepo.json(import) andsonar-matrix.json(CI).sonar.sourcesinsonar-project.propertiestopackages/adt-cli/src; matrix jobs pass per-project sources..codacy.ymlto exclude.github/workflows/sonar.ymlandscripts/sonar-monorepo.tsfromeslint-8andopengrep.Migration
sonar-monorepo.jsonin SonarQube Cloud to create projects.SONAR_TOKENrepository secret; the workflow validates it before running.Written for commit 8eee5b9. Summary will update on new commits.