Use CLAUDE_BOT_TOKEN (dedicated bot user) instead of FORGEJO_CLAUDE_TOKEN (personal token). Comments and commits will now appear as claude-bot. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
name: Claude Code (Forgejo)
|
|
|
|
on:
|
|
issue_comment:
|
|
types: [created]
|
|
pull_request_review_comment:
|
|
types: [created]
|
|
issues:
|
|
types: [opened, assigned, labeled]
|
|
pull_request_review:
|
|
types: [submitted]
|
|
|
|
concurrency:
|
|
group: claude-${{ github.event.issue.number || github.event.pull_request.number }}-${{ github.run_id }}
|
|
|
|
jobs:
|
|
claude:
|
|
if: |
|
|
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
|
|
(github.event_name == 'issues' && (
|
|
github.event.action == 'labeled' ||
|
|
github.event.action == 'assigned' ||
|
|
contains(github.event.issue.body, '@claude') ||
|
|
contains(github.event.issue.title, '@claude')
|
|
))
|
|
runs-on: grunt
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://${{ secrets.READ_REPO_TOKEN }}@git.wxs.ro/xternal/checkout@v6.0.2
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: Run Claude Code
|
|
id: claude
|
|
uses: ./
|
|
with:
|
|
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
github_token: ${{ secrets.CLAUDE_BOT_TOKEN }}
|
|
bot_id: "48"
|
|
bot_name: "claude-bot"
|
|
platform: "forgejo"
|
|
env:
|
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
|
|
- name: Debug on failure
|
|
if: failure()
|
|
run: |
|
|
echo "=== Debug Info ==="
|
|
echo "Platform: PLATFORM=$PLATFORM FORGEJO=$FORGEJO"
|
|
echo "Server URL: $GITHUB_SERVER_URL"
|
|
echo "API URL: $GITHUB_API_URL"
|
|
echo "Event: ${{ github.event_name }} / ${{ github.event.action }}"
|
|
echo "Actor: ${{ github.actor }}"
|
|
echo ""
|
|
EXEC_FILE="${{ steps.claude.outputs.execution_file }}"
|
|
if [ -f "$EXEC_FILE" ]; then
|
|
echo "--- Execution file contents ---"
|
|
cat "$EXEC_FILE"
|
|
else
|
|
echo "No execution file found"
|
|
fi
|