diff --git a/.github/workflows/pylint_sonarqube.yml b/.github/workflows/pylint_sonarqube.yml index a22d3cf..b0522ae 100644 --- a/.github/workflows/pylint_sonarqube.yml +++ b/.github/workflows/pylint_sonarqube.yml @@ -1,5 +1,4 @@ name: Pylint and SonarCloud - on: push: branches: [ main, master, staging ] @@ -12,43 +11,46 @@ jobs: strategy: matrix: python-version: ["3.10"] + steps: - uses: actions/checkout@v4 with: - fetch-depth: 0 # Needed for SonarCloud - + fetch-depth: 0 # Necessário para SonarCloud + - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - + - name: Install dependencies run: | python -m pip install --upgrade pip if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install pylint ruff coverage pytest - + - name: Analysing the code with pylint (console output) run: | - pylint --disable=C0114,C0115,C0116 --exit-zero $(git ls-files '*.py') - + pylint --disable=C0114,C0115,C0116 --exit-zero $(git ls-files '*.py') || true + - name: Generate Pylint report for SonarCloud run: | - pylint --disable=C0114,C0115,C0116 --output-format=json --exit-zero $(git ls-files '*.py') > pylint-report.json - + pylint --disable=C0114,C0115,C0116 --output-format=json --exit-zero $(git ls-files '*.py') > pylint-report.json || true + - name: Run Ruff run: | ruff check --output-format=json . > ruff-report.json || true - + - name: Run tests with coverage (if you have tests) run: | if [ -d "tests" ] || [ -f "test_*.py" ] || [ -f "*_test.py" ]; then coverage run -m pytest || true - coverage xml + coverage xml || true + else + echo "No tests found, skipping coverage" fi - + - name: SonarCloud Scan - uses: SonarSource/sonarcloud-github-action@master + uses: SonarSource/sonarqube-scan-action@v5.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} @@ -57,6 +59,5 @@ jobs: -Dsonar.projectKey=gmbrax_Pilgrim -Dsonar.organization=gmbrax -Dsonar.python.pylint.reportPaths=pylint-report.json + -Dsonar.python.ruff.reportPaths=ruff-report.json -Dsonar.python.coverage.reportPaths=coverage.xml - -Dsonar.python.ruff.reportPaths=ruff-report.json -