Skip to content

Add CI workflows and lock ruff in dev dependencies#6

Merged
sderev merged 1 commit into
mainfrom
ci-automation
Mar 28, 2026
Merged

Add CI workflows and lock ruff in dev dependencies#6
sderev merged 1 commit into
mainfrom
ci-automation

Conversation

@sderev
Copy link
Copy Markdown
Owner

@sderev sderev commented Mar 28, 2026

What changed

  • Add lint.yml: Ruff format/lint check, pyproject.toml validation, and Scriv fragment validation on push/PR to main.
  • Add tests.yml: pytest matrix across Python 3.10–3.14 on push/PR to main.
  • Add prepare-release.yml: workflow_dispatch that runs scriv collect, pushes a release-prep/ branch, and opens or updates a PR instead of pushing an unsigned automation commit to protected main.
  • Switch .ci/gate from uvx ruff to uv run --locked --group dev ruff.
  • Pin ruff==0.15.8 in dev dependencies and add repo-local Ruff config.

Why

  • The repo has no CI on push/PR today. Lint and test failures are caught only locally via gate.
  • main is branch-protected, so release prep should happen through a reviewable PR instead of a direct automation push.
  • Locking Ruff keeps local and CI runs on the same version.

How to test

  • Run gate locally.
  • Push the branch and verify the new Lint and Tests workflows pass.
  • Dispatch prepare-release with a test version on a non-protected branch and verify it creates or updates a PR with the collected changelog.

Risk/comp notes

  • gate now expects Ruff in the dev environment, via uv sync --group dev.
  • prepare-release force-pushes only its ephemeral release-prep/<base>/v<version> branch.
  • No product behavior changes.

Changelog fragment: no (CI/tooling only)

Add `lint.yml` (ruff format/lint, `pyproject.toml` validation, scriv
fragment check), `tests.yml` (pytest matrix, Python 3.10–3.14), and
`prepare-release.yml` (`scriv collect` → branch → PR).

Switch `.ci/gate` from `uvx ruff` to `uv run --locked --group dev ruff`
so local and CI paths use the same pinned version.

Co-authored-by: AI <ai@sderev.com>
@sderev sderev merged commit 2019c96 into main Mar 28, 2026
6 checks passed
@sderev sderev deleted the ci-automation branch March 28, 2026 13:49
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.

1 participant