- WordPress Playground tests: CLI can be unreliable in CI environments - Performance tests: Can be flaky due to varying CI resource availability - SonarCloud: Requires SONAR_TOKEN which may not be configured This allows the PR to pass when core tests (PHPUnit, Code Quality) succeed, while still running optional tests for informational purposes.
60 lines
1.9 KiB
YAML
60 lines
1.9 KiB
YAML
name: SonarCloud Analysis
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, feature/* ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
types: [opened, synchronize, reopened]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
sonarcloud:
|
|
name: SonarCloud
|
|
runs-on: ubuntu-latest
|
|
# Allow failures since SONAR_TOKEN may not be configured
|
|
continue-on-error: true
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
|
with:
|
|
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
|
|
|
- name: Check if SonarCloud token is set
|
|
id: check_token
|
|
run: |
|
|
if [ -z "${{ secrets.SONAR_TOKEN }}" ]; then
|
|
echo "SONAR_TOKEN is not set, skipping SonarCloud analysis"
|
|
echo "skip=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "skip=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: SonarCloud Scan
|
|
if: steps.check_token.outputs.skip != 'true'
|
|
uses: SonarSource/sonarqube-scan-action@master
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
|
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
with:
|
|
args: >
|
|
-Dsonar.projectKey=wpallstars_wp-plugin-starter-template-for-ai-coding
|
|
-Dsonar.organization=wpallstars
|
|
-Dsonar.sources=.
|
|
-Dsonar.tests=tests
|
|
-Dsonar.sourceEncoding=UTF-8
|
|
-Dsonar.cpd.exclusions=tests/**
|
|
-Dsonar.exclusions=vendor/**,node_modules/**,tests/**,bin/**,build/**,dist/**,.github/**,.git/**,cypress/**,playground/**,.wiki/**
|
|
-Dsonar.php.coverage.reportPaths=coverage.xml
|
|
-Dsonar.php.tests.reportPath=test-report.xml
|
|
-Dsonar.verbose=true
|