diff --git a/.gitea/workflows/ai-review.yml b/.gitea/workflows/ai-review.yml new file mode 100644 index 0000000..239ef37 --- /dev/null +++ b/.gitea/workflows/ai-review.yml @@ -0,0 +1,60 @@ +name: πŸ€– AI Review + +on: + # Π ΡƒΡ‡Π½ΠΎΠΉ запуск ΠΈΠ· Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Actions + workflow_dispatch: + inputs: + review-command: + type: choice + default: "run" + options: + - run + - run-inline + - run-context + - run-summary + - run-inline-reply + - run-summary-reply + description: "AI Review command" + + pull-request-number: + type: string + required: true + description: "Pull Request number" + + # АвтоматичСский запуск ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ PR + pull_request: + types: [opened, synchronize, reopened] + +jobs: + ai-review: + name: Run AI Review + runs-on: ubuntu-latest + + permissions: + contents: read + pull-requests: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Run AI Review + run: | + docker run --rm \ + -v $(pwd):/app \ + -e LLM__PROVIDER="OPENROUTER" \ + -e LLM__META__MODEL="nvidia/nemotron-3-ultra-550b-a55b:free" \ + -e LLM__META__MAX_TOKENS="15000" \ + -e LLM__META__TEMPERATURE="0.3" \ + -e LLM__HTTP_CLIENT__API_URL="https://openrouter.ai/api/v1" \ + -e LLM__HTTP_CLIENT__API_TOKEN="${{ secrets.OPENROUTER_API_TOKEN }}" \ + -e VCS__PROVIDER="GITEA" \ + -e VCS__PIPELINE__OWNER="${{ gitea.repository_owner }}" \ + -e VCS__PIPELINE__REPO="${{ gitea.event.repository.name }}" \ + -e VCS__PIPELINE__PULL_NUMBER="${{ inputs.pull-request-number || gitea.event.pull_request.number }}" \ + -e VCS__HTTP_CLIENT__API_URL="https://gitea.aklivtsov.tech/api/v1" \ + -e VCS__HTTP_CLIENT__API_TOKEN="${{ secrets.ACCESS_TOKEN_GITEA }}" \ + nikitafilonov/ai-review:latest \ + ai-review ${{ inputs.review-command || 'run-inline' }}