Skip to content

Add CI: ruff lint and pytest on Python 3.10-3.13 - #2

Merged
solidspark merged 1 commit into
mainfrom
claude/ci-tests
Oct 15, 2026
Merged

solidspark merged 1 commit into
mainfrom
claude/ci-tests

Conversation

@solidspark

Copy link
Copy Markdown
Contributor

Summary

Add a CI workflow. It runs on each pull request and on each push to main. Before this, the only workflow was the PyPI publish on v* tags.

What runs

  • lint: ruff check . on Python 3.12.
  • test: pytest -q on Python 3.10, 3.11, 3.12 and 3.13 (from requires-python = ">=3.10"), on ubuntu-latest. Install is pip install -e ".[dev]". The dev extra already has pytest, pytest-asyncio and ruff.
  • pytest exit code 5 (no tests collected) counts as a pass. main has no tests yet. Every other non-zero code fails the job.
  • permissions: contents: read, pip cache on, and concurrency cancels older runs on the same ref.

ruff format --check is not in the workflow. Six source files are not format-clean on main. Reformat them in a separate PR, then add the check.

No source changes. ruff check . already passes on main.

PR #1

When #1 merges, its tests/test_server_config.py runs in this job. Rebase #1 on this branch to get CI on #1 before it merges.

Testing

  • Local venv: pip install -e ".[dev]", ruff check . passes, pytest -q exits 5 and the workflow step converts it to 0.
  • actionlint v1.7.7: no findings.

Agent handoff

  • Branch claude/ci-tests. One file: .github/workflows/ci.yml.
  • Follow-ups: run ruff format . and add ruff format --check . to the lint job. When tests exist, remove the exit-code-5 rule. Make lint and test required checks in branch protection (repo admin).
  • pyproject.toml classifiers list 3.10 to 3.12 only. The matrix also tests 3.13.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@solidspark solidspark self-assigned this Oct 14, 2026
@solidspark
solidspark merged commit 26cebd3 into main Oct 15, 2026
5 checks passed
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.

2 participants