name: 'Ollama Review' on: pull_request: types: [opened, synchronize] # PR open시 자동 코드 리뷰 요청 jobs: review-code-with-llm: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Get changed files id: changed-files uses: tj-actions/changed-files@v43 - name: Setup Gitea CLI run: | curl -o tea https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-amd64 chmod +x tea ./tea --version tea login add --name gitea --url ${{ gitea.server_url }} --token ${{ secrets.token }} tea login default gitea - name: Review code env: GITEA_TOKEN: ${{ secrets.token }} run: | for file in ${{ steps.changed-files.outputs.all_changed_files }}; do review=$(curl -s https://ollama.bsidesolutions.net/api/generate -d '{"model": "${{ inputs.model }}", "prompt": "Review the following file:\n\n```\n$(cat $file)\n```", "stream": false}' | jq -r '.response') comment="Ollama Code Review for \`$file\`:\n\n$review" echo "$comment" >> ollama_review.txt done ./tea pr comment ${{ gitea.event.pull_request.number }} --body "$(cat ollama_review.txt)" shell: bash