chore: Use Ruff for linting and formatting (#147) #1416
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
# Run daily at 0:01 UTC | |
schedule: | |
- cron: '1 0 * * *' | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install external dependencies | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y graphviz libgraphviz-dev | |
- name: Install Python dependencies | |
# c.f. https://github.com/astral-sh/uv/issues/4333 for why snakemake lower bound | |
run: | | |
python -m pip install uv | |
uv pip install --system --upgrade pip wheel | |
uv pip install --system '.[develop,local,reana]' 'snakemake>6.8.0' | |
- name: List installed dependencies | |
run: python -m pip list | |
- name: Run unit tests | |
run: | | |
pytest tests/ |