91 lines
3.0 KiB
YAML
91 lines
3.0 KiB
YAML
name: SonarQube Analysis
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master_odex-event
|
|
- master_odex25_accounting
|
|
- master_odex25_base
|
|
- master_odex25_dms
|
|
- master_odex25_fleet
|
|
- master_odex25_helpdesk
|
|
- master_odex25_hr
|
|
- master_odex25_inventory
|
|
- master_odex25_maintenance
|
|
- master_odex25_mobile
|
|
- master_odex25_pos
|
|
- master_odex25_project
|
|
- master_odex25_purchase
|
|
- master_odex25_realstate
|
|
- master_odex25_sales
|
|
- master_odex25_survey
|
|
- master_odex25_transactions
|
|
- master_odex25_website
|
|
- master_openeducat_erp-14.0.1.0
|
|
- master_odex25_ensan
|
|
- master_odex25_donation
|
|
pull_request:
|
|
branches:
|
|
- "**"
|
|
|
|
jobs:
|
|
sonar:
|
|
runs-on: sonarqube
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Run SonarScanner
|
|
run: |
|
|
SONAR_HOST_URL=${{ secrets.SONAR_HOST_URL }}
|
|
SONAR_TOKEN=${{ secrets.SONAR_TOKEN }}
|
|
|
|
if [ "${{ github.event_name }}" == "pull_request" ]; then
|
|
BRANCH_NAME="${GITHUB_HEAD_REF}"
|
|
BASE_BRANCH="${GITHUB_BASE_REF}"
|
|
PR_KEY="${{ github.event.pull_request.number }}"
|
|
|
|
echo "🔎 Running PR analysis for PR #$PR_KEY ($BRANCH_NAME -> $BASE_BRANCH)"
|
|
|
|
sonar-scanner \
|
|
-Dsonar.projectKey="odex25_standard_modules" \
|
|
-Dsonar.projectName="Odex25 Standard Modules" \
|
|
-Dsonar.sources=. \
|
|
-Dsonar.inclusions="**/*.py,**/*.xml,**/*.js,**/*.html,**/*.css" \
|
|
-Dsonar.exclusions="**/__manifest__.py,**/migrations/**,**/__pycache__/**" \
|
|
-Dsonar.sourceEncoding="UTF-8" \
|
|
-Dsonar.host.url="$SONAR_HOST_URL" \
|
|
-Dsonar.token="$SONAR_TOKEN" \
|
|
-Dsonar.pullrequest.key="$PR_KEY" \
|
|
-Dsonar.pullrequest.branch="$BRANCH_NAME" \
|
|
-Dsonar.pullrequest.base="$BASE_BRANCH"
|
|
|
|
else
|
|
BRANCH_NAME="${GITHUB_REF#refs/heads/}"
|
|
SAFE_BRANCH_NAME="${BRANCH_NAME//\//_}"
|
|
PROJECT_KEY="odex25_standard_modules_${SAFE_BRANCH_NAME}"
|
|
PROJECT_NAME="Standard Modules ${SAFE_BRANCH_NAME^}"
|
|
SOURCE_FOLDER_NAME="${BRANCH_NAME#master_}"
|
|
PROJECT_VERSION="1.0"
|
|
|
|
echo "🔎 Running branch analysis for $BRANCH_NAME (Project: $PROJECT_KEY)"
|
|
|
|
sonar-scanner \
|
|
-Dsonar.projectKey="$PROJECT_KEY" \
|
|
-Dsonar.projectName="$PROJECT_NAME" \
|
|
-Dsonar.projectVersion="$PROJECT_VERSION" \
|
|
-Dsonar.sources="$SOURCE_FOLDER_NAME" \
|
|
-Dsonar.inclusions="**/*.py,**/*.xml,**/*.js,**/*.html,**/*.css" \
|
|
-Dsonar.exclusions="**/__manifest__.py,**/migrations/**,**/__pycache__/**" \
|
|
-Dsonar.sourceEncoding="UTF-8" \
|
|
-Dsonar.host.url="$SONAR_HOST_URL" \
|
|
-Dsonar.token="$SONAR_TOKEN"
|
|
fi
|
|
|
|
- name: Cleanup workspace
|
|
if: always()
|
|
run: |
|
|
rm -rf $GITHUB_WORKSPACE/*
|