name: Bot de incidencias run-name: "#${{ github.event.issue.number }} ${{ github.event.issue.title }}" on: issues: types: [opened, reopened] issue_comment: types: [created] jobs: bot: # Imagen propia con Claude Code y pre-commit ya instalados; el runner monta # las fuentes de Odoo en /odoo-src. Ver tools/issue_bot/README.md. runs-on: issue-bot # Lo que publica la cuenta del bot también dispara el evento: sus respuestas # y el eco de los correos de notificación. Se corta aquí; el resto de # filtros (PR, cerradas, etiqueta no-bot) los aplica bot.py. if: github.actor != 'claudia_eco' steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # bot.py pone las credenciales de la cuenta del bot al hacer push. persist-credentials: false - name: Run bot env: # Con prefijo BOT_: el runner define sus propias FORGEJO_* y # GITHUB_*, entre ellas un FORGEJO_TOKEN que no es de ningún usuario. BOT_FORGEJO_URL: ${{ github.server_url }} BOT_FORGEJO_REPO: ${{ github.repository }} # La rama por defecto del repo es 16.0: sin esto el bot tomaría # esa como base. BOT_BASE_BRANCH: "18.0" BOT_FORGEJO_TOKEN: ${{ secrets.BOT_FORGEJO_TOKEN }} # Basta con uno de los dos. CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} BOT_REPO_DIR: ${{ github.workspace }} # Dependencias del proyecto y, aparte, el resto de OCA. BOT_ODOO_SRC: /odoo-src/18.0:/odoo-src/18.0-oca run: python3 tools/issue_bot/bot.py run "${{ github.event.issue.number }}"