This repository has been archived on 2025-06-18. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
casino/.gitea/workflows/gemini.yml
jank 4b67ca90bf
All checks were successful
CI / Get Changed Files (pull_request) Successful in 8s
CI / Docker frontend validation (pull_request) Successful in 27s
CI / Docker backend validation (pull_request) Successful in 28s
CI / oxlint (pull_request) Successful in 31s
CI / eslint (pull_request) Successful in 41s
Gemini Review / Gemini (pull_request) Successful in 54s
CI / prettier (pull_request) Successful in 40s
CI / Checkstyle Main (pull_request) Successful in 54s
CI / test-build (pull_request) Successful in 54s
CI / Backend Tests (pull_request) Successful in 1m35s
fix: Gemini did something
2025-05-28 16:09:40 +02:00

95 lines
3.8 KiB
YAML

name: Gemini Review
on:
pull_request:
types: [opened, synchronize] # Runs on new PRs and updates
jobs:
Gemini:
runs-on: local
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.ref }}
fetch-tags: true
- name: Check if last commit is from Renovate Bot
id: check-renovate
run: |
AUTHOR=$(git log -1 --pretty=format:'%an')
echo "Author is $AUTHOR"
echo "author=$AUTHOR" >> "$GITHUB_OUTPUT"
- name: Set Tea Version
id: tea_version
run: echo "version=0.9.2" >> $GITHUB_OUTPUT # Check for the latest version
- name: Download Tea CLI
run: |
TEA_VERSION=$(echo "${{ steps.tea_version.outputs.version }}")
wget "https://gitea.com/gitea/tea/releases/download/v${TEA_VERSION}/tea-${TEA_VERSION}-linux-amd64" -O tea
chmod +x tea
mv tea /usr/local/bin/tea
- name: Verify Tea Installation
run: tea --version
- name: Add Gitea Login
env:
GITEA_URL: ${{ secrets._GITEA_URL }}
GITEA_TOKEN: ${{ secrets._GITEA_TOKEN }}
run: |
if [ -z "$GITEA_URL" ]; then
echo "Error: GITEA_URL secret is not set."
exit 1
fi
if [ -z "$GITEA_TOKEN" ]; then
echo "Error: GITEA_TOKEN secret is not set."
exit 1
fi
tea login add --name mygitea --url "$GITEA_URL" --token "$GITEA_TOKEN" --insecure ${{ startsWith(secrets._GITEA_URL, 'http://') || '' }}
- name: Install bun
uses: oven-sh/setup-bun@v2
- name: Install claude code
run: bun i -g @anthropic-ai/claude-code
- name: Get PR Diff
id: get_pr_diff
run: |
# Fetch the base branch to get the diff accurately
git fetch origin main:main
DIFF=$(git diff main...HEAD)
# Escape quotes and other special characters for the multiline string
ESCAPED_DIFF=$(echo "$DIFF" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')
echo "diff=$ESCAPED_DIFF" >> "$GITHUB_OUTPUT"
- name: Gemini PR Review
if: steps.check-renovate.outputs.author != 'Renovate Bot'
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
PR_NUMBER: ${{ github.event.number }}
PR_DIFF: ${{ steps.get_pr_diff.outputs.diff }}
run: |
ANTHROPIC_BASE_URL=${{ secrets.ANTHROPIC_BASE_URL }} claude --allowedTools "Bash(tea:*)" --allowedTools "Bash(git:*) Read Grep WebFetch Glob LS" -p "You are a code review assistant. Your task is to review the changes in Pull Request #${PR_NUMBER}. The relevant changes are provided as a git diff below.
--- Start of PR Diff ---
${PR_DIFF}
--- End of PR Diff ---
Only provide constructive feedback on the quality, correctness, readability, and potential issues in the code based on the provided diff. Do not make any changes or suggest complete rewrites—just review what is there. You can use the rest of the repository as context if needed, but focus your review on the changes shown in the diff.
Once you are done with your review, post your feedback as a reject or review on the pull request using the following exact format:
tea \"<reject or approve>\" ${PR_NUMBER} \"<your review message here>\"
Make sure the comment is clear, professional, and helpful. Only run the tea comment command once you're finished reviewing all changes.
ALWAYS PUT A COMMENT
You may also use the tea cli to find out various things about the pull request.
Don't be too strict.
Also MAKE SURE TO ALWAYS MENTION WHAT FILES AND LINE NUMBERS ARE WRONG.
Use the tea cli at all cost."