kind: pipeline
name: sonarcube
type: docker

steps:
  - name: code-analysis
    pull: if-not-exists
    image: mcr.microsoft.com/dotnet/sdk:6.0
    commands:
      - apt-get update && apt-get install -y unzip
      - export PATH="$PATH:/root/.dotnet/tools"
      - dotnet tool install --global dotnet-sonarscanner
      - dotnet sonarscanner begin /k:"$SONAR_PROJECT_KEY" /d:sonar.host.url="$SONAR_HOST" /d:sonar.login="$SONAR_TOKEN" /d:sonar.branch.name="$DRONE_REPO_BRANCH" /d:sonar.analysis.mode=preview
      - dotnet build
      - dotnet sonarscanner end /d:sonar.login="$SONAR_TOKEN"
    environment:
      SONAR_HOST:
        from_secret: sonar_host
      SONAR_TOKEN:
        from_secret: sonar_token
      SONAR_PROJECT_KEY:
        from_secret: sonar_project_key

trigger:
  event:
    - push
    - pull_request
