Skip to content

ci: adopt aiopowerwall's lint/test/build job shape, add Ruff - #19

Merged
Bre77 merged 1 commit into
mainfrom
fm/o10-e101-s6s-stream-ci
Aug 5, 2026
Merged

ci: adopt aiopowerwall's lint/test/build job shape, add Ruff#19
Bre77 merged 1 commit into
mainfrom
fm/o10-e101-s6s-stream-ci

Conversation

@Bre77

@Bre77 Bre77 commented Aug 5, 2026

Copy link
Copy Markdown
Member

Intent

  • Adopt aiopowerwall's CI job shape (lint / test / build) so this repo's gate covers what its sibling project's does.
    • Split the old typecheck job into lint (Ruff + mypy), matching aiopowerwall's step order and naming.
    • Ruff, like mypy, isn't a declared dev dependency - CI installs it ephemerally via uv run --with ruff ruff check ....
    • [tool.ruff] selects E, F, W, I, B, UP, ASYNC, SIM, RUF; RUF006 is ignored since the stream's background listen/refresh tasks are intentionally untracked fire-and-forget asyncio.create_task calls, not an oversight.
    • Fixed the resulting lint findings (import sort order, __all__ sort, collections.abc.Callable, an unnecessary quoted forward ref, a nested if) - no behavior change.
  • test job now fails outright if tests/test_*.py matches nothing, instead of silently continuing - a missing test suite should be a red build, not green.
  • Added a build job: uv build (wheel + sdist), twine check on the artifacts, then uploads them - catches malformed metadata/README rendering before it ever reaches a release.
  • Supported-Python matrix (3.9-3.13) and existing trigger/concurrency config are unchanged.

Splits typecheck into a lint job (ruff + mypy), makes the test job fail
outright when tests/test_*.py matches nothing instead of silently
skipping, and adds a build job (uv build + twine check + artifact
upload). Python matrix is unchanged.
@Bre77 Bre77 added the fm Opened by a Firstmate crewmate label Aug 5, 2026
@Bre77
Bre77 merged commit b56f50a into main Aug 5, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fm Opened by a Firstmate crewmate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant