2026-02-26 12:06:55 -08:00
|
|
|
name: AI Code Review
|
|
|
|
|
on:
|
|
|
|
|
workflow_call:
|
|
|
|
|
inputs:
|
|
|
|
|
remove_label:
|
|
|
|
|
type: boolean
|
|
|
|
|
default: true
|
|
|
|
|
pr:
|
|
|
|
|
type: string
|
|
|
|
|
required: true
|
2026-04-21 10:31:39 -07:00
|
|
|
config:
|
|
|
|
|
type: string
|
|
|
|
|
required: false
|
|
|
|
|
description: A string to be written as an ai-code-review config file; use newline chars to separate lines
|
2026-02-26 12:06:55 -08:00
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
ai-review:
|
|
|
|
|
container:
|
|
|
|
|
image: registry.gitlab.com/redhat/edge/ci-cd/ai-code-review:v2.5.0
|
|
|
|
|
steps:
|
2026-04-21 10:31:39 -07:00
|
|
|
- name: Write ai-code-review config file
|
|
|
|
|
run: |
|
|
|
|
|
mkdir -p .ai_review
|
|
|
|
|
printf "${{ inputs.config }}\n" > .ai_review/config.yml
|
|
|
|
|
if: ${{ inputs.config }}
|
2026-02-26 12:06:55 -08:00
|
|
|
- name: Run AI Review
|
|
|
|
|
env:
|
2026-04-21 10:35:42 -07:00
|
|
|
AI_API_KEY: ${{ secrets.AICR_API_KEY || secrets.GEMINI_API_KEY }}
|
2026-02-26 12:06:55 -08:00
|
|
|
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
|