Skip to content

Commit

Permalink
Change sonarcloud.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
asteriskzie committed May 26, 2024
1 parent 7711376 commit 22340e6
Showing 1 changed file with 51 additions and 41 deletions.
92 changes: 51 additions & 41 deletions .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: SonarCloud analysis
name: SonarCloud

on:
push:
Expand All @@ -9,64 +9,74 @@ on:
pull_request:
types: [opened, synchronize, reopened]

permissions:
pull-requests: read # allows SonarCloud to decorate PRs with analysis results

jobs:
Analysis:
build:
name: Build, analyze, and test
runs-on: ubuntu-latest

services:
services:
postgres:
image: postgres:latest
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: snackscription_review
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5


steps:
- name: Check out the Git repository
uses: actions/checkout@v4

- name: Set up Java toolchain
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "21"
cache: "gradle"

- name: Build
run: ./gradlew build
- name: Cache SonarCloud packages
uses: actions/cache@v3
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar

- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle

- name: Wait for PostgreSQL
run: |
for i in {1..30}; do
if pg_isready -h localhost -p 5432 -U postgres; then
echo "PostgreSQL is up and running"
break
fi
echo "Waiting for PostgreSQL..."
sleep 1
done
if ! pg_isready -h localhost -p 5432 -U postgres; then
echo "PostgreSQL failed to start" && exit 1
fi
- name: Analyze with SonarCloud
# You can pin the exact commit or the version.
# uses: SonarSource/sonarcloud-github-action@de2e56b42aa84d0b1c5b622644ac17e505c9a049
uses: SonarSource/sonarcloud-github-action@master

- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Generate a token on Sonarcloud.io, add it to the secrets of this repo with the name SONAR_TOKEN (Settings > Secrets > Actions > add new repository secret)
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/snackscription_review
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: postgres
with:
# Additional arguments for the sonarcloud scanner
args:
# Unique keys of your project and organization. You can find them in SonarCloud > Information (bottom-left menu)
# mandatory
-Dsonar.projectKey=ADPRO-C11_snackscription-review
-Dsonar.organization=adpro-c11
-Dsonar.java.binaries=.
-Dsonar.sources=src/main/java
-Dsonar.tests=src/test/java
# Comma-separated paths to directories containing main source files.
#-Dsonar.sources= # optional, default is project base directory
# When you need the analysis to take place in a directory other than the one from which it was launched
#-Dsonar.projectBaseDir= # optional, default is .
# Comma-separated paths to directories containing test source files.
#-Dsonar.tests= # optional. For more info about Code Coverage, please refer to https://docs.sonarcloud.io/enriching/test-coverage/overview/
# Adds more detail to both client and server-side analysis logs, activating DEBUG mode for the scanner, and adding client-side environment variables and system properties to the server-side log of analysis report processing.
#-Dsonar.verbose= # optional, default is false
# JWT_SECRET: ${{ secrets.JWT_SECRET }}
run: |
chmod +x ./gradlew
./gradlew build sonar --info

0 comments on commit 22340e6

Please sign in to comment.