Skip to content

Add pytest and Python linting (ruff) to CI#1637

Merged
mnriem merged 3 commits intogithub:mainfrom
mnriem:feature/add-github-actions-for-linting
Feb 19, 2026
Merged

Add pytest and Python linting (ruff) to CI#1637
mnriem merged 3 commits intogithub:mainfrom
mnriem:feature/add-github-actions-for-linting

Conversation

@mnriem
Copy link
Collaborator

@mnriem mnriem commented Feb 19, 2026

Closes #1636

Changes

Adds a new .github/workflows/test.yml workflow with two jobs:

ruff job

  • Runs uvx ruff check src/ and uvx ruff format --check src/ on Python 3.13

pytest job

  • Runs uv run pytest across a Python 3.11 / 3.12 / 3.13 matrix
  • Installs test dependencies via uv sync --extra test

Both jobs trigger on pushes to main and on pull requests.

Testing

Verified locally:

  • All 39 tests pass (uv run pytest)
  • ruff check src/ and ruff format --check src/ pass clean
  • Workflow YAML validates correctly

Copilot AI review requested due to automatic review settings February 19, 2026 22:03
@mnriem mnriem force-pushed the feature/add-github-actions-for-linting branch from c81d34d to d87bf78 Compare February 19, 2026 22:05
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive Python testing and linting to the CI pipeline, addressing a gap where tests existed but were not being run automatically. The new workflow introduces ruff for code quality checks and pytest for running the existing test suite across multiple Python versions.

Changes:

  • New GitHub Actions workflow .github/workflows/test.yml with separate jobs for linting (ruff) and testing (pytest)
  • Ruff job runs format and lint checks on Python 3.13
  • Pytest job runs the full test suite across Python 3.11, 3.12, and 3.13 using a matrix strategy

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

mnriem and others added 2 commits February 19, 2026 16:11
- Remove extraneous f-string prefixes (F541)
- Split multi-statement lines (E701, E702)
- Remove unused variable assignments (F841)
- Remove ruff format check from CI workflow (format-only PR to follow)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Rich/Typer CLI injects ANSI escape codes into option names in
--help output, causing plain string matching to fail.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 19, 2026 22:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mnriem mnriem merged commit 24d76b5 into github:main Feb 19, 2026
13 checks passed
@mnriem mnriem deleted the feature/add-github-actions-for-linting branch February 19, 2026 22:22
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.

Add pytest and Python linting (ruff) to CI

1 participant

Comments