Skip to content

AI review of tool setup #107

AI review of tool setup

AI review of tool setup #107

Workflow file for this run

name: Check and Test Python Project
on:
workflow_dispatch:
push:
branches: ["main"]
pull_request:
branches: ["main"]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
fetch-depth: 0 # for SonarQube
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: |
pyproject.toml
uv.lock
- name: Python set up
uses: actions/setup-python@v6
with:
python-version-file: ".python-version"
- name: Run Ruff
run: |
uv run --frozen ruff format --check
uv run --frozen ruff check --no-fix --output-format=github
- name: Run pytest unittests
run: |
uv run --frozen pytest tests/ \
--cov \
--cov-report=term-missing \
--cov-report=xml:coverage.xml
- name: Run pre-commit hooks
uses: pre-commit/action@v3.0.1
# for SonarQube coverage report
- name: SonarQube Scan
uses: SonarSource/sonarqube-scan-action@v7
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# - name: Minimize uv cache
# run: uv cache prune --ci