Skip to content

ci(cora): add cora review, PR checks, CLA, pre-commit hook, split CI jobs - #27

Merged
ajianaz merged 3 commits into
developfrom
ci/cora-review-and-pr-checks
Aug 12, 2026
Merged

ajianaz merged 3 commits into
developfrom
ci/cora-review-and-pr-checks

Conversation

@ajianaz

@ajianaz ajianaz commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

What

  • Split CI into separate jobs (check, fmt, clippy, test, build, verify-templates, mutation-testing)
  • Add Cora AI Code Review workflow (runs on PR, posts review comment + SARIF)
  • Add PR Checks workflow (branch naming, conventional commits, PR template validation)
  • Add CLA Check workflow
  • Add PR template (.github/PULL_REQUEST_TEMPLATE.md)
  • Add pre-commit hook (.githooks/pre-commit) with cora review support

Why

Adopt standard CI patterns from uteke and cora-code repos. Cora review catches code quality issues before merge. PR checks enforce consistent branch naming, conventional commits, and complete PR descriptions. Pre-commit hook runs fmt + clippy + cora locally to catch issues before push.

How

Patterns adopted directly from the reference repos:

Workflow Source Adaptation
ci.yml uteke Split monolithic job → 7 parallel jobs (faster feedback)
cora-review.yml cora-code Same: cora-review-action@v1 + BYOK secrets
pr-checks.yml cora-code Branch naming + conventional commits + PR body validation
cla-check.yml uteke Fetch signatures from codecoradev/.github
.githooks/pre-commit uteke Adaptive language detection (Rust/TS/Go/Python) + cora
PULL_REQUEST_TEMPLATE.md cora-code Standard: What/Why/How/Testing/Related Issues/Checklist

CI improvements:

  • actions/cache@v4 → Swatinem/rust-cache@v2 (smarter caching)
  • RUST_BACKTRACE: 1 + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
  • Mutation testing: continue-on-error (informational, non-blocking)
  • Template names in verify-templates adjusted to cosy's 18 templates

Pre-commit hook usage:

# Install (one-time)
git config core.hooksPath .githooks

# Bypass (ONLY for cora false positives — fmt/clippy MUST pass)
git commit --no-verify

Testing

  • All workflow YAML syntactically valid
  • Uses standard actions: actions/checkout@v4, Swatinem/rust-cache@v2, dtolnay/rust-toolchain@stable
  • GitHub secrets set: CORA_API_KEY, CORA_BASE_URL, CORA_MODEL (repo-level)
  • Pre-commit hook tested locally (fmt + clippy clean)
  • CI green on this PR (will verify after push)

Related Issues

Adopts patterns from codecoradev/uteke and codecoradev/cora-code.

Checklist

  • Branch name follows convention (ci/cora-review-and-pr-checks)
  • Branch is from develop
  • Commit messages follow Conventional Commits
  • No secrets or credentials committed
  • One logical change per PR (CI/CD improvements)

…jobs

## What
- Split CI into separate jobs (check, fmt, clippy, test, build, verify-templates, mutation-testing)
- Add Cora AI Code Review workflow (cora-review.yml)
- Add PR Checks workflow (branch naming, conventional commits, PR template validation)
- Add CLA Check workflow
- Add PR template (.github/PULL_REQUEST_TEMPLATE.md)
- Add pre-commit hook (.githooks/pre-commit) with cora review support

## Why
Adopt standard CI patterns from uteke and cora-code repos. Cora review catches
code quality issues before merge. PR checks enforce consistent branch naming,
conventional commits, and complete PR descriptions. Pre-commit hook runs
fmt + clippy + cora locally to catch issues before push.

## How
- CI: separate jobs for faster feedback (fmt/clippy fail fast, test/build run in parallel)
- cora-review.yml: uses codecoradev/cora-review-action@v1 with BYOK secrets
- pr-checks.yml: validates branch name prefix, PR body sections (## What/Why/Testing), conventional commit title
- cla-check.yml: fetches signatures from codecoradev/.github, posts comment if unsigned
- pre-commit hook: adaptive language detection (Rust/TS/Go/Python), runs cora if binary exists
- Secrets: CORA_API_KEY, CORA_BASE_URL, CORA_MODEL set as repo-level GitHub secrets

## Testing
- CI yaml validated with actionlint
- All workflows use actions/checkout@v4, Swatinem/rust-cache@v2, dtolnay/rust-toolchain@stable
- Pre-commit hook tested locally (fmt + clippy clean)

## Related Issues
- Adopts patterns from codecoradev/uteke and codecoradev/cora-code

## Checklist
- [x] Branch name follows convention (ci/cora-review-and-pr-checks)
- [x] Branch is from develop
- [x] Commit messages follow Conventional Commits
- [x] No secrets or credentials committed
- [x] One logical change per PR (CI/CD improvements)
@github-actions

github-actions Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

🔍 Cora AI Code Review

⚠️ Review could not complete. LLM API error after retries: failed to parse LLM JSON response: parse failed (original: EOF while parsing a value at line 1 column 0, after repair: EOF while parsing a value at line 1 column 0)


Review powered by cora-code · BYOK · MIT

gradient-card template only exists in feat/test-suite branch, not develop.
og-image is available in develop and tests a different aspect ratio.
Mutation testing takes 40+ minutes. CI should be fast feedback.
cargo-mutants + cargo-mutants.toml config stay for local use.
@ajianaz
ajianaz merged commit e89a0ce into develop Aug 12, 2026
12 checks passed
@ajianaz
ajianaz deleted the ci/cora-review-and-pr-checks branch August 12, 2026 11:04
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