name: AI Code Review on: workflow_call: inputs: remove_label: type: boolean default: true pr: type: string required: true config: type: string required: false description: A string to be written as an ai-code-review config file; use newline chars to separate lines jobs: ai-review: container: image: registry.gitlab.com/redhat/edge/ci-cd/ai-code-review:v2.5.0 steps: - name: Write ai-code-review config file run: | mkdir -p .ai_review printf "${{ inputs.config }}\n" > .ai_review/config.yml if: ${{ inputs.config }} - name: Run AI Review env: AI_API_KEY: ${{ secrets.AICR_API_KEY || secrets.GEMINI_API_KEY }} run: ai-code-review --platform forgejo --pr-number ${{ inputs.pr }} --post # this has to be a separate job because ai-code-review container does not have nodejs in it # also note this does not work for PRs from forks because of a forgejo bug # https://codeberg.org/forgejo/forgejo/issues/10733 remove-label: if: ${{ inputs.remove_label }} runs-on: fedora steps: - uses: https://github.com/actions-ecosystem/action-remove-labels@2ce5d41b4b6aa8503e285553f75ed56e0a40bae0 # v1.3.0 with: labels: ai-review-please