Skip to content

ci: restore CI with lint, test, and build checks - #9

Merged
man4ish merged 1 commit into
mainfrom
ci/restore-ci
Oct 3, 2026
Merged

man4ish merged 1 commit into
mainfrom
ci/restore-ci

Conversation

@man4ish

@man4ish man4ish commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator

CI was moved to .github/workflows_disabled, so pushes and PRs to main ran no checks. Restoring the old file unchanged would fail at once, so this PR also fixes what it would have hit.

Fixes

  • Package install failed. pyproject.toml declared the invalid classifier Operating System :: OS Infrastructure Independent, which hatchling rejects. It is now OS Independent.
  • Lint step could not run. ruff check . ran without ruff installed, and without a config a current ruff (0.16) enables rules the code was never written against (48 findings). ruff is now a dev dependency, and [tool.ruff] selects E/F with a 120-character line length; black and isort still handle formatting, per CONTRIBUTING.md. One line over the limit in omnibioai/_base.py is wrapped.

New .github/workflows/ci.yml

  • On pushes and PRs to main: ruff check . and pytest (95% coverage gate from pyproject.toml) on Python 3.10, 3.11, 3.12 and 3.13, then python -m build and twine check.
  • Read-only permissions; nothing is published. The tag-triggered PyPI and GHCR jobs stay in workflows_disabled/.

Verified locally on Python 3.10–3.13: ruff passes; 101 tests pass at 100% coverage; the sdist and wheel build and pass twine check.

🤖 Generated with Claude Code

https://claude.ai/code/session_016nxi4bp7DP1ancERNUUfzj


Generated by Claude Code

CI was moved to .github/workflows_disabled. Restoring it as-is would fail:

- The package could not be installed. pyproject.toml declared the invalid
  classifier "Operating System :: OS Infrastructure Independent", which
  hatchling rejects; it is now "OS Independent".
- The lint step ran `ruff check .` without ruff being installed, and with
  no ruff config a current ruff enables rules the code was never written
  against. ruff is now a dev dependency, and [tool.ruff] selects E and F
  with a 120-character line length. The one line over that limit in
  omnibioai/_base.py is wrapped.

The new .github/workflows/ci.yml runs ruff and pytest on Python 3.10-3.13
for pushes and pull requests to main, then builds the sdist and wheel and
runs twine check. It does not publish: the tag-triggered PyPI and GHCR jobs
stay in workflows_disabled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016nxi4bp7DP1ancERNUUfzj
@man4ish
man4ish merged commit 05fa7f4 into main Oct 3, 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