smaug/.gitea/workflows/claude.yml

71 lines
3.1 KiB
YAML

name: Claude Assistant
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude-response:
runs-on: ubuntu-latest
if: |
(github.actor == 'dodox') && (
(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' && contains(github.event.issue.body, '@claude'))
)
steps:
- uses: actions/checkout@v4
- uses: markwylde/claude-code-gitea-action@gitea
with:
model: claude-sonnet-4-6
allowed_tools: |
Bash
claude_code_oauth_token: ${{ secrets.CLAUDE_CREDENTIALS }}
gitea_token: ${{ secrets.CLAUDE_USER_GITEA_TOKEN }}
claude_git_name: Claude
claude_git_email: claude_code@dominik-roth.eu
trigger_phrase: "@claude"
opus-response:
runs-on: ubuntu-latest
if: |
(github.actor == 'dodox') && (
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@opus')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@opus')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@opus')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '@opus'))
)
steps:
- uses: actions/checkout@v4
- uses: markwylde/claude-code-gitea-action@gitea
with:
model: claude-opus-4-6
allowed_tools: |
Bash
claude_code_oauth_token: ${{ secrets.CLAUDE_CREDENTIALS }}
gitea_token: ${{ secrets.CLAUDE_USER_GITEA_TOKEN }}
claude_git_name: Claude
claude_git_email: claude_code@dominik-roth.eu
trigger_phrase: "@opus"
access-denied:
runs-on: ubuntu-latest
if: |
(github.actor != 'dodox') && (
(github.event_name == 'issue_comment' && (contains(github.event.comment.body, '@claude') || contains(github.event.comment.body, '@opus'))) ||
(github.event_name == 'pull_request_review_comment' && (contains(github.event.comment.body, '@claude') || contains(github.event.comment.body, '@opus'))) ||
(github.event_name == 'pull_request_review' && (contains(github.event.review.body, '@claude') || contains(github.event.review.body, '@opus'))) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.body, '@opus')))
)
steps:
- name: Access denied - only dodox can use Claude
run: |
echo "❌ Access Denied: User '${{ github.actor }}' is not authorized to use Claude"
echo "Only the repository owner 'dodox' can use the @claude or @opus assistant to prevent quota abuse"
exit 1