Ctrl K
ComunidadGuías…

action.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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"