40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
name: SonarQube Analysis
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
sonar:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Define project key
|
|
run: |
|
|
echo "PROJECT_KEY=${GITHUB_REPOSITORY##*/}" >> "$GITHUB_ENV"
|
|
|
|
- name: Create SonarQube project if needed
|
|
run: |
|
|
curl -s -u "${{ secrets.SONAR_ADMIN_TOKEN }}:" \
|
|
-X POST \
|
|
"http://sonarqube:9000/api/projects/create" \
|
|
--data-urlencode "name=${PROJECT_KEY}" \
|
|
--data-urlencode "project=${PROJECT_KEY}" \
|
|
|| true
|
|
|
|
- name: Run SonarScanner
|
|
run: |
|
|
docker run --rm \
|
|
--network dev-platform_default \
|
|
-e SONAR_HOST_URL="http://sonarqube:9000" \
|
|
-e SONAR_TOKEN="${{ secrets.SONAR_ADMIN_TOKEN }}" \
|
|
-v "$PWD:/usr/src" \
|
|
sonarsource/sonar-scanner-cli \
|
|
-Dsonar.projectKey="${PROJECT_KEY}" \
|
|
-Dsonar.projectName="${PROJECT_KEY}" \
|
|
-Dsonar.sources=. \
|
|
-Dsonar.sourceEncoding=UTF-8 |