ci(sonarqube): add non-blocking SonarQube analysis on push to main #18

Closed
wtclaude wants to merge 1 commits from ci/sonarqube-analysis into main
Member

Adds SonarQube static analysis to the Android-app repo, mirroring the setup already in website/.

What

  • sonar-project.properties — project key runic-gateway-android-app, sources app/src/main (Kotlin), tests app/src/test, excludes build//.gradle//generated/. Commented-out Android Lint + JaCoCo import hooks for later enrichment.
  • .gitea/workflows/sonarqube.ymlSonarQube workflow on push to main (+ workflow_dispatch). Full-history checkout + sonarsource/sonarqube-scan-action@v4.

Notes

  • Non-blocking by design: runs after merge, never on PRs — it only feeds the dashboard, complementing pr-checks.yml and release.yml.
  • Source-based scan: the Kotlin analyzer works on source, so no Gradle build / Android SDK / JDK install is needed — keeping the workflow lightweight. (The SonarQube Gradle plugin is the alternative; the CLI + properties file is used to keep this repo identical in shape to website/ and link/.)
  • app/src/androidTest doesn't exist yet, so it's left out of sonar.tests to avoid a scanner warning — noted inline for when it's added.
  • One-time setup required in Gitea (Repo → Settings → Actions): secret SONAR_TOKEN + variable SONAR_HOST_URL. The SonarQube project runic-gateway-android-app must also be created server-side.
  • Documented org-wide in docs/ci/SONARQUBE.md (RunicGateway/docs, separate PR).

AI-assisted: authored with Claude Code (Anthropic). Commit trailer records Co-Authored-By: Claude.

🤖 Generated with Claude Code

Adds SonarQube static analysis to the Android-app repo, mirroring the setup already in `website/`. ## What - `sonar-project.properties` — project key `runic-gateway-android-app`, sources `app/src/main` (Kotlin), tests `app/src/test`, excludes `build/`/`.gradle/`/`generated/`. Commented-out Android Lint + JaCoCo import hooks for later enrichment. - `.gitea/workflows/sonarqube.yml` — `SonarQube` workflow on push to `main` (+ `workflow_dispatch`). Full-history checkout + `sonarsource/sonarqube-scan-action@v4`. ## Notes - **Non-blocking by design:** runs after merge, never on PRs — it only feeds the dashboard, complementing `pr-checks.yml` and `release.yml`. - **Source-based scan:** the Kotlin analyzer works on source, so no Gradle build / Android SDK / JDK install is needed — keeping the workflow lightweight. (The SonarQube Gradle plugin is the alternative; the CLI + properties file is used to keep this repo identical in shape to website/ and link/.) - `app/src/androidTest` doesn't exist yet, so it's left out of `sonar.tests` to avoid a scanner warning — noted inline for when it's added. - **One-time setup required** in Gitea (Repo → Settings → Actions): secret `SONAR_TOKEN` + variable `SONAR_HOST_URL`. The SonarQube project `runic-gateway-android-app` must also be created server-side. - Documented org-wide in `docs/ci/SONARQUBE.md` (RunicGateway/docs, separate PR). AI-assisted: authored with Claude Code (Anthropic). Commit trailer records `Co-Authored-By: Claude`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
wtclaude added 1 commit 2026-07-21 04:14:28 +00:00
ci(sonarqube): add non-blocking SonarQube analysis on push to main
All checks were successful
PR Checks / android-build (pull_request) Successful in 10m48s
f6deeb9624
Mirrors the website repo's setup: a source-based scan of app/src/main
(Kotlin) that reports to the self-hosted SonarQube server after merge,
never gating PRs. Project key runic-gateway-android-app.

Co-Authored-By: Claude <noreply@anthropic.com>
whitlocktech approved these changes 2026-07-21 04:15:56 +00:00
whitlocktech scheduled this pull request to auto merge when all checks succeed 2026-07-21 04:16:02 +00:00
wtclaude closed this pull request 2026-07-21 04:22:13 +00:00
All checks were successful
PR Checks / android-build (pull_request) Successful in 10m48s
Required
Details

Pull request closed

Sign in to join this conversation.
No description provided.