diff --git a/.github/workflows/sonarcloud-analyze.yml b/.github/workflows/sonarcloud-analyze.yml new file mode 100644 index 00000000..237e0a9a --- /dev/null +++ b/.github/workflows/sonarcloud-analyze.yml @@ -0,0 +1,49 @@ +name: F-Lab SonarCloud Code Analyze + +on: + pull_request: + types: [opened, synchronize, reopened] + workflow_dispatch: + +env: + CACHED_DEPENDENCIES_PATHS: '**/node_modules' + +jobs: + CodeAnalyze: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set SonarCloud Project Key + run: | + REPO_NAME=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 2) + ORG_NAME=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 1) + SONAR_PROJECT_KEY="${ORG_NAME}_${REPO_NAME}" + echo "SONAR_PROJECT_KEY=$SONAR_PROJECT_KEY" >> $GITHUB_ENV + + - name: Set up JDK + uses: actions/setup-java@v2 + with: + java-version: '19' + distribution: 'adopt' + + - name: Create Sonar Gradle File + run: | + insert_string="plugins { id 'org.sonarqube' version '4.4.1.3373' }" + if [ -f "build.gradle" ]; then + echo "$insert_string" > temp.gradle + cat build.gradle >> temp.gradle + mv temp.gradle build.gradle + else + echo "$insert_string" > build.gradle + fi + + - name: Analyze + run: ./gradlew sonar -Dsonar.projectKey=${{ env.SONAR_PROJECT_KEY }} -Dsonar.organization=f-lab-edu-1 -Dsonar.host.url=https://sonarcloud.io -Dsonar.token=${{ secrets.SECRET_SONARQUBE }} -Dsonar.gradle.skipCompile=true + env: + SONAR_TOKEN: ${{ secrets.SECRET_SONARQUBE }} + + \ No newline at end of file