actions/action.yml

64 lines
1.7 KiB
YAML

name: "opencode Forgejo Action"
description: "Run opencode in Forgejo Actions workflows"
branding:
icon: "code"
color: "blue"
inputs:
model:
description: "Model to use (format: provider/model)"
required: true
agent:
description: "Agent to use. Must be a primary agent."
required: false
share:
description: "Share the opencode session (defaults to true for public repos)"
required: false
prompt:
description: "Custom prompt to override the default prompt"
required: false
forgejo_api_url:
description: "Forgejo instance API URL (e.g., https://forgejo.example.com)"
required: false
default: "https://bitfreedom.net/code/"
forgejo_token:
description: "Forgejo PAT with repo scope (contents, pull-requests, issues)"
required: false
mentions:
description: "Comma-separated list of trigger phrases. Defaults to '/opencode,/oc'"
required: false
default: "/opencode,/oc"
variant:
description: "Model variant for provider-specific reasoning effort (e.g., high, max, minimal)"
required: false
nomyo_api_key:
description: "Nomyo API key"
required: true
nomyo_api_url:
description: "Nomyo API base URL. Defaults to https://chat.nomyo.ai/api"
required: false
default: "https://chat.nomyo.ai/api"
runs:
using: "node20"
main: "dist/index.mjs"
env:
NOMYO_API_KEY: ${{ inputs.nomyo_api_key }}
NOMYO_API_URL: ${{ inputs.nomyo_api_url }}
MODEL: ${{ inputs.model }}
AGENT: ${{ inputs.agent }}
SHARE: ${{ inputs.share }}
PROMPT: ${{ inputs.prompt }}
FORGEJO_API_URL: ${{ inputs.forgejo_api_url }}
FORGEJO_TOKEN: ${{ inputs.forgejo_token }}
MENTIONS: ${{ inputs.mentions }}
VARIANT: ${{ inputs.variant }}