Skip to content

fix(install): add curl timeouts and size caps; changelog for #578-#589 #132

fix(install): add curl timeouts and size caps; changelog for #578-#589

fix(install): add curl timeouts and size caps; changelog for #578-#589 #132

Workflow file for this run

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