mirror of
https://github.com/claude-did-this/claude-hub.git
synced 2026-02-15 03:31:47 +01:00
Fixes automated PR review triggering by implementing intelligent check suite analysis: Key improvements: - Smart categorization of check suites (meaningful vs skipped vs timed-out) - Handles conditional jobs that never start (5min timeout) - Skips explicitly neutral/skipped check suites - Prevents waiting for stale in-progress jobs (30min timeout) - Enhanced logging for better debugging - Backwards compatible with existing configuration New environment variables: - PR_REVIEW_MAX_WAIT_MS: Max wait for stale jobs (default: 30min) - PR_REVIEW_CONDITIONAL_TIMEOUT_MS: Timeout for conditional jobs (default: 5min) This resolves issues where PR reviews weren't triggering due to overly strict wait-for-all logic that didn't account for skipped/conditional CI jobs. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.8 KiB
YAML
56 lines
1.8 KiB
YAML
services:
|
|
webhook:
|
|
build: .
|
|
ports:
|
|
- "8082:3002"
|
|
volumes:
|
|
- .:/app
|
|
- /app/node_modules
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ${HOME}/.aws:/root/.aws:ro
|
|
- ${HOME}/.claude:/home/claudeuser/.claude
|
|
secrets:
|
|
- github_token
|
|
- anthropic_api_key
|
|
- webhook_secret
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=3002
|
|
- AUTHORIZED_USERS=${AUTHORIZED_USERS:-Cheffromspace}
|
|
- BOT_USERNAME=${BOT_USERNAME:-@MCPClaude}
|
|
- DEFAULT_GITHUB_OWNER=${DEFAULT_GITHUB_OWNER:-Cheffromspace}
|
|
- DEFAULT_GITHUB_USER=${DEFAULT_GITHUB_USER:-Cheffromspace}
|
|
- DEFAULT_BRANCH=${DEFAULT_BRANCH:-main}
|
|
- CLAUDE_USE_CONTAINERS=1
|
|
- CLAUDE_CONTAINER_IMAGE=claudecode:latest
|
|
# Smart wait for all meaningful checks by default, or use specific workflow trigger
|
|
- PR_REVIEW_WAIT_FOR_ALL_CHECKS=${PR_REVIEW_WAIT_FOR_ALL_CHECKS:-true}
|
|
- PR_REVIEW_TRIGGER_WORKFLOW=${PR_REVIEW_TRIGGER_WORKFLOW:-}
|
|
- PR_REVIEW_DEBOUNCE_MS=${PR_REVIEW_DEBOUNCE_MS:-5000}
|
|
- PR_REVIEW_MAX_WAIT_MS=${PR_REVIEW_MAX_WAIT_MS:-1800000}
|
|
- PR_REVIEW_CONDITIONAL_TIMEOUT_MS=${PR_REVIEW_CONDITIONAL_TIMEOUT_MS:-300000}
|
|
# Point to secret files instead of env vars
|
|
- GITHUB_TOKEN_FILE=/run/secrets/github_token
|
|
- ANTHROPIC_API_KEY_FILE=/run/secrets/anthropic_api_key
|
|
- GITHUB_WEBHOOK_SECRET_FILE=/run/secrets/webhook_secret
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:3002/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
networks:
|
|
- n8n_default
|
|
|
|
secrets:
|
|
github_token:
|
|
file: ./secrets/github_token.txt
|
|
anthropic_api_key:
|
|
file: ./secrets/anthropic_api_key.txt
|
|
webhook_secret:
|
|
file: ./secrets/webhook_secret.txt
|
|
|
|
networks:
|
|
n8n_default:
|
|
external: true |