maria 54c9d985c7
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
Merge pull request 'PR Automatica OpenCode: opencode-issue-7' (#8) from opencode-issue-7 into main
Reviewed-on: #8
closes #7
2026-07-05 16:58:34 +00:00

Test di Actions e Automazione Agentica su Gitea

Questo repository è un test per verificare il funzionamento delle Actions e dell'automazione agentica collegata a eventi su Gitea.

Lo scopo è sperimentare l'esecuzione automatica di workflow in risposta a eventi come push, pull request e altri trigger, utilizzando agenti AI per operazioni di review, merge e gestione del repository.

Workflow: Gitea Actions Demo (.gitea/workflows/demo.yml)

Workflow dimostrativo che si attiva ad ogni push su qualsiasi branch. Esegue su un container node:20-alpine e stampa una serie di messaggi informativi via echo per illustrare il funzionamento base di Gitea Actions:

  • Mostra l'evento che ha scatenato il workflow (gitea.event_name)
  • Mostra il runner OS e il branch/repository coinvolto
  • Fa il checkout del codice tramite actions/checkout@v4
  • Elenca i file nella workspace
  • Comunica lo stato finale del job (job.status)

Non esegue operazioni di modifica o deploy: è puramente a scopo educativo/dimostrativo.

Workflow: OpenCode Gitea Integration (.gitea/workflows/opencode.yml)

Workflow di automazione agentica che integra OpenCode (agente AI) con Gitea. Si attiva su quattro eventi:

Evento Descrizione
issues: [opened] Apertura di una nuova issue
issue_comment: [created] Nuovo commento su una issue
pull_request_review_comment: [created] Nuovo commento su una PR (review)
workflow_dispatch Esecuzione manuale tramite UI / API

Il workflow procede solo se il corpo della issue/commento contiene /oc o /opencode (oppure se è un'esecuzione manuale). L'autore deve essere tra gli utenti autorizzati (maria, nicola), altrimenti il job viene interrotto.

Schema di esecuzione

  1. Autorizzazione — Verifica che l'utente sia nella whitelist.
  2. Reazione 👀 — Aggiunge una reazione "eyes" al commento/issue di trigger (feedback visivo immediato senza generare nuovi eventi).
  3. Checkout — Clona il repository con storia completa (fetch-depth: 0).
  4. Installazione OpenCode — Scarica e installa la CLI di OpenCode via curl | bash.
  5. Determinazione contesto — Capisce se si è in una issue, in una PR o in esecuzione manuale:
    • PR: fa il fetch e checkout del branch della PR.
    • Issue: crea un nuovo branch opencode-issue-<N> a partire da main.
    • Manuale: crea un branch opencode-manual-<run_number>.
  6. Raccolta contesto — Se si tratta di una PR, scarica il diff e i commenti recenti per fornire contesto all'agente.
  7. Pulizia comando — Rimuove /oc o /opencode dal prompt, lasciando solo le istruzioni utente.
  8. Esecuzione OpenCode — Lancia l'agente AI con modello opencode/big-pickle, passando il contesto raccolto e la richiesta dell'utente. L'agente può leggere, modificare e creare file nel repository.
  9. Push e PR — Se ci sono modifiche, le committa e le pusha sul branch. Se si sta lavorando su una issue (non PR), apre automaticamente una Pull Request verso main.
  10. Reazione finale — Aggiunge una reazione 🚀 in caso di successo o 😕 in caso di fallimento.

Il workflow è progettato per evitare auto-trigger: le reazioni alle issue/commenti non generano eventi issue_comment, e il workflow non scrive mai commenti (solo reazioni), prevenendo loop infiniti.

S
Description
No description provided
Readme
88 KiB
Languages
HTML 96.5%
Dockerfile 3.5%