Skip to content

ci: bootstrap ruff in dev tooling and workflows#123

Open
Copilot wants to merge 6 commits into
mainfrom
copilot/implement-ruff-setup
Open

ci: bootstrap ruff in dev tooling and workflows#123
Copilot wants to merge 6 commits into
mainfrom
copilot/implement-ruff-setup

Conversation

Copilot AI commented May 7, 2026

Copy link
Copy Markdown
Contributor

This PR introduces Ruff as a baseline linting tool in project tooling and CI/CD, while intentionally ignoring all files for now. It establishes the scaffolding needed for incremental module-by-module Ruff adoption in follow-up PRs.

  • Dev dependency + Ruff baseline config

    • Add ruff to project.optional-dependencies.dev in pyproject.toml.
    • Add a minimal Ruff config that ignores all files by default.
  • CI/CD workflow integration

    • Add ruff check . to:
      • .github/workflows/test.yaml
      • .github/workflows/release.yaml
    • Ruff now runs as part of existing automated checks without enforcing module linting yet.
  • Contributor docs alignment

    • Update docs/contributing.md to include Ruff in the documented .[dev] toolchain.
[tool.ruff]
exclude = ["**/*"]

Copilot AI linked an issue May 7, 2026 that may be closed by this pull request
Copilot AI and others added 2 commits May 7, 2026 05:33
Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/a0f6ad6e-cfcf-49e7-a72c-c68555407a45

Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com>
Agent-Logs-Url: https://github.com/RussellSB/pytrendy/sessions/a0f6ad6e-cfcf-49e7-a72c-c68555407a45

Co-authored-by: RussellSB <35470600+RussellSB@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement Ruff in CI/CD workflows and update dev dependencies ci: bootstrap ruff in dev tooling and workflows May 7, 2026
Copilot AI requested a review from RussellSB May 7, 2026 05:36
@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

📚 Docs preview deployed!

Your docs preview is available at: https://russellsb.github.io/pytrendy/pr-123/

This preview will be removed when the PR is closed.

github-actions Bot added a commit that referenced this pull request May 7, 2026
@codecov

codecov Bot commented May 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@RussellSB RussellSB marked this pull request as ready for review May 9, 2026 12:52
github-actions Bot added a commit that referenced this pull request May 9, 2026
github-actions Bot added a commit that referenced this pull request Jun 21, 2026
@RussellSB

Copy link
Copy Markdown
Owner

/oc hello

github-actions Bot added a commit that referenced this pull request Jun 27, 2026
Base automatically changed from develop to main June 28, 2026 07:40
@RussellSB

Copy link
Copy Markdown
Owner

/oc what does this PR do? What is Ruff, and why is it worth it for open source (this is a test to make sure opencode is connected)

@opencode-agent

Copy link
Copy Markdown

What This PR Does

This PR bootstraps Ruff into pytrendy's tooling as scaffolding for future module-by-module adoption:

  1. Adds ruff as a dev dependency (pyproject.toml:54)
  2. Adds baseline Ruff config that intentionally excludes all files (pyproject.toml:82-83)
  3. Integrates ruff check . into both test.yaml and release.yaml CI workflows
  4. Updates contributing.md to document Ruff in the dev toolchain

Since it excludes all files, it's a no-op lint step — just getting the plumbing in place.


What Is Ruff?

Ruff is a Python linter and formatter written in Rust. It replaces multiple tools (flake8, isort, pyupgrade, autopep8, etc.) in a single, extremely fast binary.

Why it's worth it for open source:

Benefit Detail
Speed 10–100x faster than flake8/pylint. CI runs in seconds, not minutes.
Single tool Replaces flake8, isort, pyupgrade, and more — fewer configs to maintain.
Auto-fix Many rules have safe auto-fixers (ruff check --fix).
Rust performance No Python startup overhead; scales to huge repos.
Growing ecosystem Adopted by FastAPI, Pandas, uv, and most major Python OSS projects.
Zero config defaults Sensible out of the box; opt-in to stricter rules.

For a project like pytrendy with CI on every PR, Ruff catches style and correctness issues instantly — before pytest even runs — at negligible CI cost.

New%20session%20-%202026-06-29T10%3A53%3A53.978Z
opencode session  |  github run

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.

[Maintenence] Implement Ruff

2 participants