Skip to content

action to pip

action to pip #7

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Python package
on:
push:
paths:
- 'src/**'
- 'tests/**'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pysmiles pytest ruff ty pytest-cov
pip install -e .
- name: Lint with ruff
run: ruff check src
- name: Type check with ty
run: ty check src
- name: Test with pytest
run: |
pytest tests --cov=src --cov-branch --cov-report=term-missing --cov-report=html --cov-report=xml
pytest tests --cov=src --junitxml=junit.xml -o junit_family=legacy
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: tacular-omics/paftacular
fail_ci_if_error: false
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: tacular-omics/paftacular
report_type: test_results
fail_ci_if_error: false