Skip to content

SonarCloud

SonarCloud #589

Workflow file for this run

name: SonarCloud
on:
pull_request:
branches:
- dev
types:
- opened
- synchronize
- reopened
workflow_dispatch:
schedule:
- cron: '00 23 * * *' # 08:00
- cron: '00 11 * * *' # 20:00
permissions:
checks: write
pull-requests: write
jobs:
build:
name: Build and analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin' # Alternative distribution options are available
- name: Cache SonarCloud packages
uses: actions/cache@v3
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
# - name: Gradle Caching
# uses: actions/cache@v3
# with:
# path: |
# ~/.gradle/caches
# ~/.gradle/wrapper
# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
# restore-keys: |
# ${{ runner.os }}-gradle-
- name : Update gradlew access authorized
run: chmod +x gradlew
- name : Clean gradle
run : ./gradlew clean
- name : Stop gradle
run : ./gradlew --stop
#test๋ฅผ ์œ„ํ•œ mysql์„ค์ •
- name: Start MySQL
uses: samin/[email protected]
with:
host port: 3303
container port: 3303
mysql database: 'test_db'
mysql user: 'test'
mysql password: 'test_pw'
#ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ redis ์„ค์ •
- name: Start Redis
uses: supercharge/[email protected]
with:
redis-port: 6376
#ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ test yml ์„ค์ •
- name: Make application-test.yml
run: |
cd ./src/test/resources
touch ./application-test.yml
echo "${{ secrets.PROPERTIES_TEST }}" > ./application-test.yml
shell: bash
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./gradlew build sonarqube --info