Capitulo 16: GitHub Actions y CI/CD
Capitulo 16: GitHub Actions y CI/CD
< Volver al Indice del Tutorial
OpenCode se integra nativamente con GitHub. Puedes mencionar /opencode o /oc en issues y pull requests para ejecutar tareas directamente desde la plataforma. El agente se ejecuta en runners de GitHub Actions, no en tu maquina local, lo que garantiza seguridad y aislamiento.
Setup Automatico
La forma mas rapida de configurar la integracion es el wizard interactivo:
opencode github install
Este comando te guia paso a paso: selecciona el repositorio, instala la GitHub App, crea el workflow y configura los secrets necesarios. Todo en un solo comando.
Setup Manual
Si prefieres configurar manualmente, sigue estos tres pasos:
Paso 1: Instalar la GitHub App
Visita github.com/apps/opencode-agent e instala la app en tu repositorio o organizacion. La app necesita permisos para leer y escribir en issues, PRs y contenido del repositorio.
Paso 2: Crear el Workflow
Crea el archivo .github/workflows/opencode.yml en tu repositorio:
name: OpenCode Agent
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
permissions:
id-token: write
contents: write
pull-requests: write
issues: write
jobs:
agent:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: opencode/action@v1
with:
model: "anthropic/claude-sonnet-4-20250514"
Paso 3: Configurar Secrets
Ve a Settings > Secrets and variables > Actions en tu repositorio y agrega las API keys del proveedor que uses. Por ejemplo:
ANTHROPIC_API_KEYpara modelos de AnthropicOPENAI_API_KEYpara modelos de OpenAI
Configuracion del Workflow
El action acepta estos parametros principales:
| Parametro | Descripcion | Ejemplo |
|---|---|---|
model | Proveedor y modelo a usar | anthropic/claude-sonnet-4-20250514 |
agent | Agente a ejecutar (build, plan) | build |
share | Compartir resultados publicamente | true |
prompt | Prompt adicional de sistema | "Responde en español" |
token | Token de GitHub (auto-provisto) | ${{ secrets.GITHUB_TOKEN }} |
Triggers Soportados
OpenCode puede reaccionar a multiples eventos de GitHub:
| Trigger | Evento | Uso |
|---|---|---|
issue_comment | Comentario con /opencode | Ejecutar tareas desde issues |
pull_request_review_comment | /oc en lineas de codigo | Sugerencias inline en PRs |
schedule | Cron expressions | Tareas recurrentes automaticas |
issues | Issue nuevo creado | Auto-triage de issues entrantes |
pull_request | PR abierto o actualizado | Reviews automaticos de codigo |
workflow_dispatch | Boton manual en Actions | Ejecucion on-demand |
Permisos Necesarios
El workflow requiere estos permisos para funcionar correctamente:
permissions:
id-token: write # Autenticacion con la GitHub App
contents: write # Leer y escribir archivos del repo
pull-requests: write # Comentar y modificar PRs
issues: write # Comentar y modificar issues
Ejemplos de Uso en Issues y PRs
Una vez configurado, puedes invocar OpenCode directamente en GitHub:
En un issue:
/opencode fix this bug — the login form crashes when email is empty
En un review comment sobre una linea de codigo:
/oc add error handling here for null values
En un issue para analisis:
/opencode explain this issue and suggest a fix
En un PR para review:
/oc review this PR focusing on security concerns
El agente lee el contexto del issue o PR, analiza el codigo relevante, y responde con un comentario o directamente con un commit si la tarea lo requiere.
Seguridad
La integracion con GitHub Actions ofrece varias garantias de seguridad:
- Aislamiento: el agente se ejecuta en runners efimeros de GitHub, no en tu maquina
- Secrets protegidos: las API keys se manejan como secrets de GitHub Actions
- Permisos granulares: puedes limitar que eventos disparan el agente
- Audit trail: toda ejecucion queda registrada en el log de GitHub Actions
- Contexto limitado: el agente solo ve el repositorio y el contexto del evento que lo disparo
Siguiente: Capitulo 17: LSP y Formatters —>