Files
luci/.github/workflows/llm-review.yml
T
Hauke Mehrtens 9aa8932212 github: add LLM review workflow and project rules
Add a nightly LLM-driven PR review for the LuCI repo, calling the
reusable workflow in actions-shared-workflows. The extra_repos list
pre-clones LuCI's typical backends (rpcd, netifd, firewall4, ucode,
uhttpd, packages, openwrt) so the routine can verify cross-repo
references without re-cloning per PR.

Also add .github/llm-review-rules.md with two project-specific rules
the system prompt does not cover: redirecting PRs that touch
out-of-tree luci-app-* packages, and checking that new UCI options
have a backend consumer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-28 20:23:37 +02:00

35 lines
1.2 KiB
YAML

name: LLM Review
on:
schedule:
- cron: '0 4,16 * * *'
workflow_dispatch:
inputs:
max_prs:
description: 'Max PRs to review in this nightly run'
required: false
type: number
default: 16
permissions: {}
concurrency:
group: ${{ github.workflow }}-nightly
cancel-in-progress: false
jobs:
nightly:
if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.repository_owner == 'openwrt'
permissions:
pull-requests: read
uses: openwrt/actions-shared-workflows/.github/workflows/reusable_llm-nightly-digest.yml@main
with:
routine_id: ${{ vars.LLM_ROUTINE_ID_NIGHTLY }}
# LuCI PRs frequently touch backends served via rpcd/ubus, ucode
# handlers, fw4/netifd config surfaces, and packages from feeds.
# The routine clones each entry only when the diff calls for it.
extra_repos: openwrt/openwrt:main,openwrt/rpcd:master,openwrt/netifd:master,openwrt/firewall4:master,openwrt/uhttpd:master,jow-/ucode:master,openwrt/packages:master
max_prs: ${{ fromJSON(inputs.max_prs || '16') }}
secrets:
llm_routine_token: ${{ secrets.LLM_ROUTINE_TOKEN_NIGHTLY }}