mirror of
https://github.com/codewhale-hq/Codewhale.git
synced 2026-11-07 10:36:05 -10:00
The installed v0.10.2 binary identifies source 3400ebb5c9, whose review triage caps small reviews at 4000 output tokens regardless of the environment ceiling. Live runs 40830663408 and 40831324211 exhausted all 4000 tokens as reasoning and correctly published nothing. Current Engine source already removes that fixed cap, but unreleased source is not a substitute for a checksummed release. Add a validated reasoning-effort input, applied through a fresh secret-free isolated Engine configuration. Generated workflows default to off for this released compatibility boundary; users can select an explicit level or auto. Local verification: existing Action tests 8 passed, 0 failed; syntax, generated workflow actionlint and whitespace checks pass. No new tests or code comments; next live acceptance is on the newly pinned source.
77 lines
3.3 KiB
YAML
77 lines
3.3 KiB
YAML
name: Codewhale
|
||
description: Review pull requests automatically or on an authorized @codewhale review request, using your chosen model.
|
||
branding:
|
||
icon: code
|
||
color: blue
|
||
inputs:
|
||
version:
|
||
description: Exact released CLI tag (vX.Y.Z). Must support review --json.
|
||
required: true
|
||
provider:
|
||
description: Explicit BYOK provider (orcarouter, deepseek, anthropic, openrouter, zai, modelstudio-token-plan), or codewhale for a separately verified account machine key.
|
||
required: true
|
||
model:
|
||
description: Exact model ID. Account mode requires provider/model from the account catalog.
|
||
required: true
|
||
reasoning-effort:
|
||
description: Optional Engine reasoning setting (auto, off, low, medium, high, max).
|
||
github-token:
|
||
description: GitHub token with contents read and pull-requests read; legacy post:true also requires pull-requests write.
|
||
default: ${{ github.token }}
|
||
pr-number:
|
||
description: PR number for workflow_dispatch; pull_request events use the event snapshot.
|
||
trigger-phrase:
|
||
description: Bot mention used for a standalone @name review line in a new PR comment.
|
||
default: '@codewhale'
|
||
allow-forks:
|
||
description: Allow inert fork review only on a write-authorized issue_comment or manual run from the default branch.
|
||
default: 'false'
|
||
max-chars:
|
||
description: Maximum diff characters per complete pass.
|
||
default: '200000'
|
||
max-passes:
|
||
description: Maximum number of complete review passes.
|
||
default: '1'
|
||
max-output-tokens:
|
||
description: Optional per-pass output ceiling; at least 8192.
|
||
timeout-seconds:
|
||
description: Model and publication deadline, in seconds (30–1200).
|
||
default: '600'
|
||
post:
|
||
description: Legacy direct COMMENT publication. Set false to export findings for a separate publisher job.
|
||
default: 'true'
|
||
outputs:
|
||
outcome:
|
||
description: reviewed_clean, reviewed_with_findings, incomplete, superseded, not_eligible, configuration_missing, failed, or publication_uncertain.
|
||
value: ${{ steps.review.outputs.outcome }}
|
||
receipt:
|
||
description: Absolute path to the sanitized JSON execution receipt (also written on failures).
|
||
value: ${{ steps.review.outputs.receipt }}
|
||
findings:
|
||
description: Absolute path to validated findings JSON for a complete post:false review; contains repository-sensitive review text.
|
||
value: ${{ steps.review.outputs.findings }}
|
||
pr-url:
|
||
description: URL of the pull request, when resolved.
|
||
value: ${{ steps.review.outputs.pr-url }}
|
||
runs:
|
||
using: composite
|
||
steps:
|
||
- id: review
|
||
shell: bash
|
||
env:
|
||
CW_ACTION_PATH: ${{ github.action_path }}
|
||
CW_VERSION: ${{ inputs.version }}
|
||
CW_PROVIDER: ${{ inputs.provider }}
|
||
CW_MODEL: ${{ inputs.model }}
|
||
CW_REASONING_EFFORT: ${{ inputs.reasoning-effort }}
|
||
CW_PR_NUMBER: ${{ inputs.pr-number }}
|
||
CW_TRIGGER_PHRASE: ${{ inputs.trigger-phrase }}
|
||
CW_ALLOW_FORKS: ${{ inputs.allow-forks }}
|
||
CW_MAX_CHARS: ${{ inputs.max-chars }}
|
||
CW_MAX_PASSES: ${{ inputs.max-passes }}
|
||
CW_MAX_OUTPUT_TOKENS: ${{ inputs.max-output-tokens }}
|
||
CW_TIMEOUT_SECONDS: ${{ inputs.timeout-seconds }}
|
||
CW_POST: ${{ inputs.post }}
|
||
GH_TOKEN: ${{ inputs.github-token }}
|
||
run: node "$CW_ACTION_PATH/scripts/github-action/review.mjs"
|