Skip to content

ci: GitHub Actions workflow for pytest suite#3

Open
abhicris wants to merge 1 commit intocryptuon:mainfrom
abhicris:ci/github-actions-pytest
Open

ci: GitHub Actions workflow for pytest suite#3
abhicris wants to merge 1 commit intocryptuon:mainfrom
abhicris:ci/github-actions-pytest

Conversation

@abhicris
Copy link
Copy Markdown
Contributor

Summary

Adds .github/workflows/ci.yml — the repo has a solid test suite (11 test modules covering api validation, authorisation, compliance manager, config, data manager, key manager, p2p network, payment processor, rate limiter, token manager) but no CI runs them on push/PR. Regressions only surface on a local dev machine.

What it does

  • test job: matrix of Python 3.11 + 3.12. Installs LevelDB system deps (required by plyvel), uses snok/install-poetry@v1 pinned to 1.8.3, caches the .venv on poetry.lock, runs poetry install --with dev then pytest tests/ -v --tb=short.
  • lint job: ruff check + ruff format --check. Currently runs in non-blocking mode (|| true) since the repo has no ruff config yet — flip to blocking in a follow-up once a baseline pyproject.toml ruff section lands.

Trigger

Push / PR against main or master.

Test plan

  • Workflow YAML validates locally
  • First CI run on this PR exercises both py3.11 and py3.12 matrix legs
  • Lint job reports issues but does not block the merge

kcolbchain / Abhishek Krishna

The repo has a solid test suite (11 test modules, covering api validation,
authorisation, compliance manager, config, data manager, key manager, p2p
network, payment processor, rate limiter, token manager) but no CI runs
them on push/PR — regressions only surface on a local dev machine.

Workflow:
- `test` job: matrix of Python 3.11 + 3.12. Installs LevelDB system deps
  (required by `plyvel`), uses snok/install-poetry@v1 with the same 1.8.3
  toolchain the repo targets, caches the `.venv` on poetry.lock, runs
  `poetry install --with dev` then `pytest tests/ -v --tb=short`.
- `lint` job: `ruff check` + `ruff format --check`. Currently runs in
  non-blocking mode (`|| true`) since the repo has no formatter config
  yet; flip to blocking in a follow-up once a baseline `pyproject.toml`
  ruff section lands.

Triggers: push/PR to main or master.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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