diff --git a/.github/workflows/sonar-qube.yml b/.github/workflows/sonar-qube.yml new file mode 100644 index 0000000..238638d --- /dev/null +++ b/.github/workflows/sonar-qube.yml @@ -0,0 +1,36 @@ +name: SonarCloud Code Analysis + +on: + pull_request: + types: + - opened + - synchronize + - reopened + push: + branches: + - main + - next + +jobs: + sonarqube: + name: SonarQube + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Use Node.js 20.x + uses: actions/setup-node@v3 + with: + node-version: 20 + registry-url: "https://registry.npmjs.org" + cache: "yarn" # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-dependencies + + - run: yarn install + + - name: SonarQube Scan + uses: SonarSource/sonarqube-scan-action@v4 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000..3c17667 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,8 @@ +sonar.projectKey=vivid-planet_dev-process-manager +sonar.organization=vivid-planet +sonar.sources=src/ +sonar.tests=src/ +sonar.test.inclusions=src/**/__tests__/**,src/**/*.spec.ts +sonar.exclusions=src/**/__tests__/**,src/**/*.spec.ts +sonar.cpd.exclusions=src/**/__tests__/**,src/**/*.spec.ts +sonar.typescript.tsconfigPaths=tsconfig.json