Repository navigation
fix(install): add curl timeouts and size caps; changelog for #578-#589 #132
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR Checks | |
| on: | |
| pull_request: | |
| types: [opened, edited, synchronize, reopened] | |
| branches: [develop, main] | |
| jobs: | |
| branch-naming: | |
| name: Branch Naming | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check branch name | |
| env: | |
| HEAD_REF: ${{ github.head_ref }} | |
| run: | | |
| echo "Checking branch: $HEAD_REF" | |
| # Allowed prefixes (kebab-case) | |
| ALLOWED="^(feat|fix|docs|chore|perf|security|refactor|test|build|ci|release)/" | |
| if echo "$HEAD_REF" | grep -qE "$ALLOWED"; then | |
| echo "✅ Branch name follows convention" | |
| else | |
| echo "::error::Branch name must start with one of: feat/, fix/, docs/, chore/, perf/, security/, refactor/, test/, build/, ci/, release/" | |
| echo "Example: fix/fts5-camelcase, feat/mcp-find-callers, release/v0.12.0" | |
| echo "Current: $HEAD_REF" | |
| exit 1 | |
| fi | |
| pr-template: | |
| name: PR Description | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check PR body | |
| env: | |
| PR_BODY: ${{ github.event.pull_request.body }} | |
| run: | | |
| echo "Checking PR description..." | |
| # Check for required sections | |
| MISSING="" | |
| if ! echo "$PR_BODY" | grep -qi "## What"; then | |
| MISSING="$MISSING\n - ## What (description of the change)" | |
| fi | |
| if ! echo "$PR_BODY" | grep -qi "## Why"; then | |
| MISSING="$MISSING\n - ## Why (the problem you're solving)" | |
| fi | |
| if ! echo "$PR_BODY" | grep -qi "## Testing"; then | |
| MISSING="$MISSING\n - ## Testing (how you verified this works)" | |
| fi | |
| if [ -n "$MISSING" ]; then | |
| echo "::error::PR description is missing required sections:$MISSING" | |
| echo "" | |
| echo "Please fill out the PR template. Copy it from:" | |
| echo "https://github.com/codecoradev/cora-code/blob/develop/.github/PULL_REQUEST_TEMPLATE.md" | |
| exit 1 | |
| fi | |
| echo "✅ PR description has required sections" | |
| commit-conventional: | |
| name: Conventional Commits | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check PR title format | |
| env: | |
| PR_TITLE: ${{ github.event.pull_request.title }} | |
| run: | | |
| echo "Checking PR title: $PR_TITLE" | |
| # Conventional Commits: type(scope): description | |
| # Types: feat, fix, docs, chore, perf, refactor, test, build, ci, security, release | |
| PATTERN="^(feat|fix|docs|chore|perf|refactor|test|build|ci|security|release)(\\(.+\\))?!?: .+" | |
| if echo "$PR_TITLE" | grep -qE "$PATTERN"; then | |
| echo "✅ PR title follows Conventional Commits" | |
| else | |
| echo "::error::PR title must follow Conventional Commits format" | |
| echo "Expected: type(scope): short description" | |
| echo "Example: fix(review): handle empty diff, release: v0.12.0" | |
| echo "Types: feat, fix, docs, chore, perf, refactor, test, build, ci, security, release" | |
| echo "Current: $PR_TITLE" | |
| exit 1 | |
| fi |