diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 55d0655..4ac5f95 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: os: [macos-latest, ubuntu-latest] - python: [3.8] + python: [3.8, "3.10"] steps: - uses: actions/checkout@v2 @@ -28,12 +28,33 @@ jobs: pip install -q numpy pip install -q git+https://github.com/doctorado-ml/mdlp pip install -q -r requirements/dev.txt - pip install -q --upgrade codecov coverage black flake8 codacy-coverage + pip install -q --upgrade codecov coverage black flake8 codacy-coverage unittest-xml-reporting - name: Lint run: | black --check --diff mufs flake8 --count mufs - name: Tests & coverage run: | - coverage run -m unittest -v mufs.tests + mkdir .report + coverage run -m xmlrunner -v mufs.tests -o .report + coverage xml -i -o .report/coverage.xml coverage report -m --fail-under=100 + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - run: echo "project_version=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV + - uses: sonarsource/sonarqube-scan-action@master + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} + with: + args: > + -Dsonar.projectVersion=${{ env.project_version }} + -Dsonar.python.coverage.reportPaths=.report/coverage.xml + -Dsonar.python.xunit.reportPath=.report/TEST* + # If you wish to fail your job when the Quality Gate is red, uncomment the + # following lines. This would typically be used to fail a deployment. + - uses: sonarsource/sonarqube-quality-gate-action@master + timeout-minutes: 5 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/requirements/dev.txt b/requirements/dev.txt index ed21e03..d00d650 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,3 +1,3 @@ -r production.txt mdlp -pandas +pandas \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000..d91e6d9 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,3 @@ +sonar.projectKey=mufs +sonar.sourceEncoding=UTF-8 +sonar.python.version="3.8, 3.9, 3.10" \ No newline at end of file