Skip to content

Add CI workflows and branch protection - #3

Merged
manavgup merged 2 commits into
mainfrom
ci/github-workflows
Mar 30, 2026
Merged

Add CI workflows and branch protection#3
manavgup merged 2 commits into
mainfrom
ci/github-workflows

Conversation

@manavgup

Copy link
Copy Markdown
Owner

Summary

  • ci.yml — 4 parallel jobs: lint (ruff + black), typecheck (mypy), test (pytest), package build (poetry build + twine check)
  • dependency-review.yml — CVE scanning (fails on moderate+) and license gating (denies GPL-3.0/AGPL-3.0/SSPL-1.0)

Patterns adopted from mcp-context-forge

  • Concurrency groups with cancel-in-progress (saves runner minutes)
  • Draft PR skipping (no CI on WIP)
  • Explicit least-privilege permissions
  • Job timeouts (5-10 min)
  • persist-credentials: false on all checkouts

After merge

Branch protection will be enabled on main:

  • Require PR (no direct pushes)
  • Require CI status checks to pass
  • No force pushes, no deletions

Part of #1

🤖 Generated with Claude Code

manavgup and others added 2 commits March 30, 2026 13:19
ci.yml — 4 parallel jobs on every push/PR to main:
  - Lint: ruff check + black check
  - Type Check: mypy
  - Test: pytest
  - Package Build: poetry build + twine check

dependency-review.yml — on PRs that touch pyproject.toml/poetry.lock:
  - Fails on moderate+ CVEs
  - Denies GPL-3.0, AGPL-3.0, SSPL-1.0 licenses

Both workflows adopt mcp-context-forge patterns: concurrency groups
with cancel-in-progress, draft PR skipping, explicit permissions,
job timeouts, persist-credentials: false.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pytest returns exit code 5 when no tests are collected, which is
expected until Phase 1 adds the first tests. The Makefile already
handles this; now CI does too.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@manavgup
manavgup merged commit d46a89c into main Mar 30, 2026
4 checks passed
@manavgup
manavgup deleted the ci/github-workflows branch March 30, 2026 17:42
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