Skip to content

Adding sonarcloud scan #1

Adding sonarcloud scan

Adding sonarcloud scan #1

# SPDX-FileCopyrightText: 2024 Shell Global Solutions International B.V. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
name: SonarCloudAnalysis
on:
- push
jobs:
SonarCloud Analysis:

Check failure on line 9 in .github/workflows/sonarcloud_analysis.yml

View workflow run for this annotation

GitHub Actions / SonarCloudAnalysis

Invalid workflow file

The workflow is not valid. .github/workflows/sonarcloud_analysis.yml (Line: 9, Col: 3): The identifier 'SonarCloud Analysis' is invalid. IDs may only contain alphanumeric characters, '_', and '-'. IDs must start with a letter or '_' and and must be less than 100 characters.
runs-on: ubuntu-latest
strategy:
matrix:
# Specify all python versions you might want to perform the actions on
python-version: [ "3.11" ]
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install pytest-cov
pip install pytest-cases
pip install .
- name: Unit test with pytest
run: |
pytest --cov-report=xml --junitxml=pytest_junit.xml
- name: Fix code coverage paths
run: |
sed -i 's/\/opt\/hostedtoolcache\/Python\/.*\/site-packages/src/g' coverage.xml
sed -i 's/opt\/hostedtoolcache\/Python\/.*\/site-packages/src/g' coverage.xml
sed -i 's/\.opt\.hostedtoolcache\.Python\..*\.site-packages\.openmcmc/src/g' coverage.xml
sed -i 's/opt\.hostedtoolcache\.Python\..*\.site-packages\.openmcmc/src/g' coverage.xml
# Use always() to always run this step to publish test results when there are test failures
if: ${{ always() }}
- name: Upload coverage xml results
uses: actions/upload-artifact@v3
with:
name: coverage_xml
path: coverage.xml
if: ${{ always() }}
- name: Upload coverage junitxml results
uses: actions/upload-artifact@v3
with:
name: pytest_junitxml
path: pytest_junit.xml
# Use always() to always run this step to publish test results when there are test failures
if: ${{ always() }}
- name: SonarCloud Scan
if: ${{ always() }}
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.OPENMCMC_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Upload SonarCloud Scan Report
uses: actions/upload-artifact@master
with:
name: sonar-scan-log
path: .scannerwork/report-task.txt
if: ${{ always() }}