Skip to content

ci: streamline supported Python coverage - #560

Merged
Alpha9463 merged 2 commits into
mainfrom
perf/559-optimise-github-workflows
Sep 30, 2026
Merged

Alpha9463 merged 2 commits into
mainfrom
perf/559-optimise-github-workflows

Conversation

@Alpha9463

Copy link
Copy Markdown
Owner

Summary

Retires Python 3.10 support and aligns package metadata, documentation, and CI with Python 3.11–3.14. CI now runs the full suite on the oldest and newest supported versions, with wheel-install and public smoke coverage on intermediate versions.

Related Issues

Closes #559

Changes

  • Raise the package requirement to Python 3.11 and remove the Python 3.10 classifier.
  • Set Ruff’s target version to Python 3.11.
  • Update support wording and preview-module documentation.
  • Update actions/checkout and actions/setup-python to v7.
  • Run the complete suite on Python 3.11 and 3.14.
  • Install .[dev,pdf] from binary wheels and run public render and CLI smoke checks on Python 3.12 and 3.13.
  • Keep the release workflow on the same reusable CI gates.
  • Replace long workflow commentary with concise operational comments.

How to Test

  1. Validate the workflows:

    actionlint .github/workflows/ci.yml .github/workflows/release.yml
  2. Run the local suite and static checks:

    python3 -m pytest -q --durations=50 --disable-warnings
    python3 -m ruff check .
    python3 -m ruff format --check tests
    python3 -m mypy pandid
    python3 -m pyright pandid
  3. Confirm the pull-request matrix passes:

    • Full tests: Python 3.11 and 3.14.
    • Public smoke tests: Python 3.12 and 3.13.
    • Linting and type checks: Python 3.12.

Evidence

  • actionlint passes for both workflows.
  • Public API rendering and pandid --help smoke checks pass locally.
  • Complete local Python 3.14 suite: 11462 passed, 190 skipped in 57.72s.
  • Ruff, formatting, mypy, Pyright, and git diff --check pass locally.
  • The CI duration and Python 3.11–3.13 coverage will be confirmed by this pull request’s Actions run.

Checklist

  • Base branch is main
  • Branch is mergeable
  • Commit subjects follow Conventional Commits and link tracked work
  • Self-reviewed the full diff
  • Relevant local checks pass
  • All CI jobs pass
  • Documentation updated for the changed support policy and workflow
  • No rendered output changed, so before/after drawings are not applicable
  • No blocking review feedback remains

@Alpha9463
Alpha9463 merged commit cc185f3 into main Sep 30, 2026
7 checks passed
@Alpha9463
Alpha9463 deleted the perf/559-optimise-github-workflows branch September 30, 2026 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task]: Retire Python 3.10 support and streamline the CI matrix

1 participant