Skip to content

ci: add GitHub Actions workflow (ruff + tests + 100% coverage) - #85

Merged
mohammadp1001 merged 1 commit into
mainfrom
feat/github-actions-ci
Jul 17, 2026
Merged

ci: add GitHub Actions workflow (ruff + tests + 100% coverage)#85
mohammadp1001 merged 1 commit into
mainfrom
feat/github-actions-ci

Conversation

@mohammadp1001

Copy link
Copy Markdown
Owner

Summary

Adds .github/workflows/ci.yml with two parallel jobs that run on every PR to main and every push to main.

  • ruff job: installs ruff and runs python -m ruff check alphoryn/ tests/ — zero violations required (constitution Principle II).
  • test job:
    1. Unit and contract tests — fast feedback step with coverage disabled (--no-cov) so a unit failure surfaces immediately without waiting for integration tests.
    2. Integration tests + coverage gate — runs the full test suite (pytest -q) which hits all three test directories and enforces --cov-fail-under=100 via pyproject.toml. No real GCP or Alpaca credentials needed; all external calls are stubbed.

Test plan

  • Merge this PR and verify both jobs appear green in the Actions tab
  • Open a test PR with a ruff violation — confirm ruff job fails
  • Open a test PR that drops coverage — confirm test job fails

… 100% coverage)

Two parallel jobs:
- ruff: zero-violation lint gate on every PR
- test: unit/contract tests for fast feedback, then integration tests with
  full 100% coverage enforcement (constitution Principle II)

Triggers on pull_request to main and push to main.
@mohammadp1001
mohammadp1001 merged commit 8a061ab into main Jul 17, 2026
2 checks passed
@mohammadp1001
mohammadp1001 deleted the feat/github-actions-ci branch July 17, 2026 22:29
mohammadp1001 added a commit that referenced this pull request Jul 17, 2026
The CI pipeline added in #85 enforces zero ruff violations, and these
six lines exceeded the 100-char limit. Wrapping them keeps the newly
merged CI gate green.
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