Skip to content

Update

Update #15

Workflow file for this run

name: Python package
on:
push:
branches: ["main", "master"]
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
test:
name: ${{ matrix.os }} / Python ${{ matrix.python }}
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
python: "3.11"
- os: ubuntu-latest
python: "3.12"
- os: ubuntu-latest
python: "3.13"
- os: ubuntu-latest
python: "3.14"
- os: macos-latest
python: "3.11"
- os: macos-latest
python: "3.12"
- os: macos-latest
python: "3.14"
- os: windows-latest
python: "3.11"
- os: windows-latest
python: "3.12"
- os: windows-latest
python: "3.14"
steps:
- name: Check out the exact source
uses: actions/checkout@v7
- name: Install Python
uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python }}
cache: pip
cache-dependency-path: pyproject.toml
- name: Install the package and test tools
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
- name: Run the complete test suite
run: python -m pytest
- name: Check source and tests
run: python -m ruff check src tests
- name: Check package typing
run: python -m mypy src/cellucid
- name: Build and verify both distributions
env:
SOURCE_DATE_EPOCH: "315532800"
run: |
python -m pip install "build==1.5.0" "twine==6.2.0"
python -m build
python scripts/normalize_sdist.py dist
python scripts/validate_release.py --sdist dist
python -m twine check --strict dist/*