Skip to content

fix: remove read-only computed descriptor fields from ligand write paths #2191

fix: remove read-only computed descriptor fields from ligand write paths

fix: remove read-only computed descriptor fields from ligand write paths #2191

Workflow file for this run

name: Test Python Code
on:
pull_request:
paths:
- '**/*.py'
- '.github/workflows/**'
- 'sonar-project.properties'
push:
branches:
- main
paths:
- '**/*.py'
- '.github/workflows/**'
- 'sonar-project.properties'
jobs:
sonarcloud:
runs-on: ubuntu-latest
needs: [functionality-tests]
if: always()
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Download coverage artifact
uses: actions/download-artifact@v8
continue-on-error: true
with:
name: coverage-report
- name: SonarCloud Scan
uses: SonarSource/sonarqube-scan-action@v6.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
code-formatting-syntax-and-docstrings:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Check code formatting using ruff
uses: astral-sh/ruff-action@v4.0.0
with:
version: 0.14.7
args: format --check
- name: Check import order
uses: astral-sh/ruff-action@v4.0.0
with:
version: 0.14.7
args: check --select I
- name: Lint
uses: astral-sh/ruff-action@v4.0.0
with:
version: 0.14.7
args: check
- name: Install uv
uses: astral-sh/setup-uv@v8.1.0
with:
version: "0.5.27"
- name: Set up Python
run: uv python install
- name: Install dependencies
run: uv sync --extra test
- name: Check docstrings using interrogate
run: |
if [ $(uv run interrogate -c pyproject.toml -v . -f 100 | grep "FAILED" | wc -l) = 1 ]; then
echo "necessary docstrings missing:"
uv run interrogate -vv -c pyproject.toml --omit-covered-files . -f 100
exit 1
fi
functionality-tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.12", "3.13"]
needs: [code-formatting-syntax-and-docstrings]
steps:
- uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v8.1.0
with:
version: "0.5.27"
- name: Set up Python
run: uv python install ${{ matrix.python-version }}
- name: Install dependencies
run: uv sync --extra test --extra tools --extra plots --extra core
- name: "run tests using a mock client"
run: uv run coverage run -m pytest --env local
- name: "test docs with pytest markdown-docs"
run: uv run coverage run --append -m pytest -x docs --env local --markdown-docs --markdown-docs-syntax=superfences
- name: Generate coverage XML
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12'
run: uv run coverage xml
- name: Upload coverage artifact
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12'
uses: actions/upload-artifact@v6
with:
name: coverage-report
path: coverage.xml
retention-days: 1