Aggiunge azioni opencode-prompt e install-opencode

This commit is contained in:
2026-05-30 22:25:15 +02:00
parent 72fcf2f74f
commit c0a3ab3d4f
2 changed files with 105 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
name: OpenCode Prompt
description: Esegue un prompt opencode sul codice del repository.
inputs:
prompt:
description: Il prompt da passare a opencode.
required: true
api-key:
description: API key per il provider opencode.
required: true
api-provider:
description: Nome del provider (default: opencode-go).
required: false
default: "opencode-go"
model:
description: Modello AI (formato provider/model).
required: false
default: ""
agent:
description: Agente opencode da utilizzare.
required: false
default: ""
working-directory:
description: Directory di lavoro per opencode. Se vuoto, usa la radice del repo.
required: false
default: ""
outputs:
result:
description: Output prodotto da opencode.
value: ${{ steps.esegui.outputs.result }}
runs:
using: composite
steps:
- name: Configura autenticazione opencode
shell: bash
run: |
set -euo pipefail
mkdir -p ~/.local/share/opencode
jq -n \
--arg provider "${{ inputs.api-provider }}" \
--arg key "${{ inputs.api-key }}" \
'{($provider): {type: "api", key: $key}}' > ~/.local/share/opencode/auth.json
chmod 600 ~/.local/share/opencode/auth.json
- name: Esegui opencode
id: esegui
shell: bash
run: |
set -euo pipefail
WD="${{ inputs.working-directory }}"
[ -z "$WD" ] && WD="$GITHUB_WORKSPACE"
cd "$WD"
EXTRA_ARGS=()
[ -n "${{ inputs.model }}" ] && EXTRA_ARGS+=(--model "${{ inputs.model }}")
[ -n "${{ inputs.agent }}" ] && EXTRA_ARGS+=(--agent "${{ inputs.agent }}")
opencode run "${{ inputs.prompt }}" "${EXTRA_ARGS[@]}" --dangerously-skip-permissions 2>&1 | tee "$GITHUB_WORKSPACE/opencode-output.txt"
RESULT=$(cat "$GITHUB_WORKSPACE/opencode-output.txt")
{
echo "result<<EOF"
echo "$RESULT"
echo "EOF"
} >> "$GITHUB_OUTPUT"