set the TEST_DIR environment variable #61
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SonarQube Scan | |
# Run SonarQube for Pull Requests and changes to the develop and main_vX.Y branches | |
on: | |
# Trigger analysis for pushes to develop and main_vX.Y branches | |
push: | |
branches: | |
- develop | |
- 'main_v**' | |
paths-ignore: | |
- 'docs/**' | |
- '.github/pull_request_template.md' | |
- '.github/ISSUE_TEMPLATE/**' | |
- '**/README.md' | |
- '**/LICENSE.md' | |
# Trigger analysis for pull requests to develop and main_vX.Y branches | |
pull_request: | |
types: [opened, synchronize, reopened] | |
branches: | |
- develop | |
- 'main_v**' | |
paths-ignore: | |
- 'docs/**' | |
- '.github/pull_request_template.md' | |
- '.github/ISSUE_TEMPLATE/**' | |
- '**/README.md' | |
- '**/LICENSE.md' | |
workflow_dispatch: | |
inputs: | |
reference_branch: | |
description: 'Reference Branch' | |
default: develop | |
type: string | |
jobs: | |
sonarqube: | |
name: SonarQube Scan | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Disable shallow clones for better analysis | |
fetch-depth: 0 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: | | |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
# try installing scikit-image explicitly. Using requirements.txt versions doesn't seem to build correctly | |
python -m pip install -U scikit-image | |
# install the coverage.py code coverage tool | |
python3 -m pip install pytest-cov | |
- name: Test with pytest | |
# these are tests that don't have external dependencies (i.e. need to run on Linux test hosts where large datasets reside or require exact machine type for | |
# image comparisons to work, etc.) | |
run: | | |
coverage run -m pytest | |
coverage report -m | |
coverage xml | |
- name: Get branch name | |
id: get_branch_name | |
run: echo branch_name=${GITHUB_REF#refs/heads/} >> $GITHUB_OUTPUT | |
- name: Configure SonarQube | |
run: .github/jobs/configure_sonarqube.sh | |
env: | |
SOURCE_BRANCH: ${{ steps.get_branch_name.outputs.branch_name }} | |
WD_REFERENCE_BRANCH: ${{ github.event.inputs.reference_branch }} | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
- name: SonarQube Scan | |
uses: sonarsource/sonarqube-scan-action@master | |
env: | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
- name: SonarQube Quality Gate check | |
id: sonarqube-quality-gate-check | |
uses: sonarsource/sonarqube-quality-gate-action@master | |
# Force to fail step after specific time. | |
timeout-minutes: 5 | |
env: | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |