My-Weekly-ToDo-List/.github/workflows/sonarqube.yml
mARTin-B78 1eeae2fd5f
Some checks are pending
Playwright Tests / test (push) Waiting to run
Test and SonarQube / quality (push) Waiting to run
fix: GitHub-Actions-Workflow nicht mehr dauerhaft rot, Unit-Tests ergaenzt
L7 aus dem TODO-Block Sicherheitsdurchgang. .github/workflows/sonarqube.yml war seit dem
02.09. dauerhaft rot -- nicht mehr wegen Typecheck/Lint (die sind seit Block C1 gruen),
sondern weil SONAR_TOKEN als Repo-Secret nie gesetzt wurde.

- Sonar-Schritt laeuft nur noch, wenn das Secret existiert (if: secrets.SONAR_TOKEN != '')
- zusaetzlich continue-on-error, damit ein nicht erreichbarer selbst gehosteter
  SonarQube-Server nicht den Rest des Workflows mitreisst
- Unit-Test-Schritt ergaenzt (npm run test:unit) -- fehlte trotz des Workflow-Namens
  "Test and SonarQube" komplett

playwright.yml bewusst unangetastet gelassen (Nutzerentscheidung).

Nebenbefund, kein Code-Fix moeglich: der lokale naechtliche SonarQube-Scan auf dem Spark
laeuft seit mindestens 09.09. jede Nacht fehl (fehlende ~/.sonar-token). Braucht ein
frisches Token vom Besitzer, um sowohl die lokale Datei als auch das GitHub-Secret
wiederherzustellen.

v1.125.1

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 17:57:28 +02:00

59 lines
1.8 KiB
YAML

name: Test and SonarQube
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
jobs:
quality:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
# Full history so SonarQube can read blame data for new-code detection.
fetch-depth: 0
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
- name: Type check
run: npm run type-check
- name: Lint
run: npm run lint
- name: Unit tests
run: npm run test:unit
# Laeuft nur, wenn SONAR_TOKEN als Repo-Secret gesetzt ist -- ohne das (Stand
# 12.09.2026: nicht gesetzt) wuerde dieser Schritt sonst den ganzen Workflow rot
# faerben, obwohl Typecheck/Lint/Tests laengst gruen sind. continue-on-error als
# zweite Absicherung, falls der Scan aus einem anderen Grund fehlschlaegt (z. B. der
# selbst gehostete SonarQube-Server ist gerade nicht erreichbar) -- das soll den
# eigentlichen Qualitaets-Check dieses Workflows nicht mit runterreissen.
- name: SonarQube scan
if: ${{ secrets.SONAR_TOKEN != '' }}
continue-on-error: true
uses: SonarSource/sonarqube-scan-action@v8.1.0
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ vars.SONAR_HOST_URL }}
with:
args: >-
-Dsonar.projectKey=mARTin-B78_My-Weekly-ToDo-List_e038f066-0063-4a1e-9c33-03fdd5ab3c3a
-Dsonar.sources=src,scripts
-Dsonar.exclusions=**/node_modules/**,**/.next/**,**/*.spec.ts
-Dsonar.qualitygate.wait=true
-Dsonar.qualitygate.timeout=300