Skip to content

[25.12] Sync .github folder with master branch#24318

Merged
openwrt-bot merged 25 commits into
openwrt:openwrt-25.12from
BKPepe:backport-formalities-2512
Jul 20, 2026
Merged

[25.12] Sync .github folder with master branch#24318
openwrt-bot merged 25 commits into
openwrt:openwrt-25.12from
BKPepe:backport-formalities-2512

Conversation

@BKPepe

@BKPepe BKPepe commented Jul 20, 2026

Copy link
Copy Markdown
Member

This PR adds formalities.json, so bot will use it instead of using bot's default, which might be strict for main repo. While at it backport commits related to Claude.

@openwrt openwrt Bot added not following guidelines Pull request does not follow formatting guidelines release/25.12 pull request/issue targeted (also) for OpenWrt 24.10 release labels Jul 20, 2026
@openwrt

openwrt Bot commented Jul 20, 2026

Copy link
Copy Markdown

Formality Check: Failed

We completed the verification flow. Please review the formatting overview logs below.

🛑 CRITICAL ERRORS

Commit 61f9378 - github: LLM-review: stop reviewing new PRs automatically:

  • Commit subject must start with a lower-case word after the prefix

Commit 99a10e8 - github: LLM-review: run the digest twice a day:

  • Commit subject must start with a lower-case word after the prefix

Commit 87c745f - CI: migrate to webhook bot and simplify labeler:

  • Line 3 in commit body exceeds max width (140/100 chars)
  • Line 5 in commit body exceeds max width (208/100 chars)
  • Line 8 in commit body exceeds max width (118/100 chars)
  • Line 9 in commit body exceeds max width (104/100 chars)
  • Line 10 in commit body exceeds max width (114/100 chars)
  • Line 13 in commit body exceeds max width (104/100 chars)

Commit 557a8e1 - CI: remove labeler workflow and enable webhook-based labeling:

  • Line 3 in commit body exceeds max width (254/100 chars)

Tip

Do not close this pull request to make corrections. Instead, modify your existing commits (e.g. git commit --amend) and update the branch using git push --force-with-lease --force-if-includes. The checks will re-run automatically.


Something broken? Consider reporting an issue.
Running version 4ca9b59 deployed on 2026-07-20 07:30:15 CEST

aparcar and others added 25 commits July 20, 2026 12:52
Run this only when a PR is created, so either author or anyone who can
edit the PR message (all maintainers) can trigger such build.

Instead of maintaining it in the main repository, move it to the
external repository to bloat this repository less with further CI
commits.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 8cff0d8)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add claude-code-review.yml using anthropics/claude-code-action@v1.
The review runs when a PR comment containing "/claude" is posted,
avoiding unnecessary API usage on every push.

Uses issue_comment trigger restricted to PR comments only. Only
triggers for users with write access (OWNER, MEMBER, COLLABORATOR)
and when the comment body contains "/claude", preventing any runner
from being allocated for unrelated comments. A short domain hint
steers the review toward OpenWrt embedded Linux conventions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt#22556
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c0e75c9)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The whitelist was too restrictive, causing permission denials when
Claude tried to use basic tools like Read or Grep to analyse the diff.
Remove it and let the action use its default toolset.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 29e1c7b)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The claude-code-action uses mcp__github_ci__get_ci_status and related
tools to check workflow run status as part of the review. Without
actions: read the GitHub API calls for CI status are rejected.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 122b2f2)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Without a prompt the action auto-detected mode: tag instead of agent
when triggered via issue_comment, resulting in no review being posted.
Remove the prompt so the action can correctly use its built-in agent
mode with full PR context.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 62ca0a9)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Version 1.0.49 added support for PRs from forked repositories.
This feature was reverted in v1.0.50, see:
anthropics/claude-code-action#937

v1.0.49 broke commits made by Claude, but we do not use that
feature. Pin to v1.0.49 until
anthropics/claude-code-action#963 is merged
and released.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b048949)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
…-fixed

Use a patched fork while waiting for
anthropics/claude-code-action#963 to be
merged and released upstream.

Version v1.0.77 contains many improvments over 1.0.49 which was used
before. It uses Sonnet 4.6 instead of Sonnet 4.5.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ced84f6)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Allow Claude to post inline comments on specific lines when reviewing
PRs via the /claude trigger phrase.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4517ace)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The workflow already uses contents: read which prevents GitHub from
accepting any push. The --disallowedTools setting adds a second layer
by stopping Claude from even attempting git write operations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 05e111a)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Allow Bash(grep:*) so Claude can search the codebase for context
during PR reviews. Without this, grep calls using shell glob patterns
were denied even though plain directory greps were allowed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a41cd89)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Instruct Claude to prefer inline comments for file/line-specific
findings and keep all feedback short and to the point.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 34f5a16)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
track_progress: true makes Claude post an initial comment immediately
when triggered and update it with a checklist as it works, so reviewers
can see what Claude is doing rather than waiting for a silent delay.
It also forces tag mode on PR/issue comment events, which is the
correct mode for interactive code review.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9f88a27)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Fix links open the Claude Code desktop app which is not useful in the
OpenWrt contributor workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 31b9fce)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This is based on version 1.0.93 plus these commits:
0ca689a fix: fetch base branch to ensure correct PR-only diffs
b7d533d fix: handle fork PRs by fetching via pull/N/head

Link: openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 746206d)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Update the dependencies to the latest version.
The biggest change is the update to Node.js 24.

Link: openwrt#22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 372e57f)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Update to the most recent version.
The biggest change is the switch to Node.js 24.

Link: openwrt#22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 05b6a93)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop-in wrapper that calls the reusable LLM review workflows in
openwrt/actions-shared-workflows. Triggers on pull_request_target
(incl. PRs from forks), a nightly cron (03:00 UTC), and manual
workflow_dispatch with a max_prs input override.

A detect-kernels pre-step builds the extra_repos list at workflow
runtime: it reads target/linux/generic/kernel-* in the base branch
to derive gregkh/linux:v<X.Y.Z> tags for each currently-targeted
kernel, then appends u-boot/u-boot:master. The list updates
automatically when kernel versions are bumped; the routine clones
only the entries actually needed for a given diff.

The bundled .github/llm-review-rules.md teaches the bot two
project-specific deprecations to flag even when other in-tree files
still use the legacy form:

  - LED label syntax `label = "<color>:<function>";` -->
    `color = <LED_COLOR_ID_*>;` + `function = "<func>";`
  - `mediatek,mtd-eeprom` for MAC sourcing -->
    `nvmem-cells` + `nvmem-cell-names = "mac-address";`

Repository settings need LLM_ROUTINE_ID_PR / LLM_ROUTINE_TOKEN_PR
and the *_NIGHTLY counterparts populated before the workflow can
fire. See openwrt/actions-shared-workflows/docs/llm-review-setup.md
for the full setup procedure.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Link: openwrt#23105
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit af3cbd4)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Tightened from real bot reviews:

- Patch regeneration: spell out which make ... refresh command
  to recommend for each patch directory class, so the bot stops
  suggesting git format-patch for quilt-managed patches.
- Backports / cherry-picks: a backport's diff should match the
  upstream commit on main verbatim; flag only deviations and
  the missing (cherry picked from commit <sha>) trailer, not
  pre-existing style issues.
- New device support: require Hardware specification, Flash
  instructions, and MAC address layout sections in the commit
  message that introduces a new device. Two reference commits
  (986ca4c, a2dcbd7) named so the bot can sample the
  expected shape.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link: openwrt#23184
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0bef741)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Allow the Build Kernel and Build all core packages workflows to be
launched manually from the Actions tab. The shared workflow side
detects workflow_dispatch and, for Build Kernel, rebuilds the full
target/subtarget matrix including testing kernel versions, so a
manual run can re-seed the s3 ccache when a queued push run got
displaced from the concurrency queue by the next commit on main.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: openwrt#23283
(cherry picked from commit d9e6f9d)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Manual workflow_dispatch and push share the same ref on main, so
they previously landed in the same concurrency group
'Build Kernel-refs/heads/main' (and the equivalent for the packages
workflow). With cancel-in-progress: false for non-PR events, only
one run can be pending per group: a newer queued run cancels the
older pending one.

That made the manual trigger unreliable in both directions. A push
landing while a dispatch was queued displaced the dispatch (so the
ccache reseed never ran), and dispatching while a push was queued
displaced the push (so the legitimate per-commit build was lost).

Adding github.event_name to the concurrency group puts pushes,
dispatches, and pull_requests in separate buckets on the same ref,
so they no longer compete with each other.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: openwrt#23283
(cherry picked from commit 3c7a141)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Delete .github/workflows/claude-code-review.yml. It is superseded by
the LLM review action, which runs automatically and uses the Claude
routine API instead of the much more expensive Claude API.

Link: openwrt#23474
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b363095)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop the pull_request_target trigger so the LLM review no longer runs
on opened/reopened PRs. We are limited to 15 Claude routine runs per
day, and the automatic per-PR trigger exhausted that budget on
several days, starving the nightly digest.

The nightly schedule and manual workflow_dispatch triggers remain.

Link: openwrt#23474
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4871040)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Change the schedule from once a day to twice a day (03:00 and 15:00
UTC) and raise the default max_prs from 16 to 24, so more open PRs
get covered now that the per-PR trigger has been removed.

Link: openwrt#23474
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 49b5093)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit migrates the repository validation to a webhook-based bot instead of the GitHub Actions workflow (.github/workflows/formal.yml).

Since the bot handles stable branch labeling automatically (via the "branch_labeling: true" configuration option), the redundant branch check and labeling steps are removed from .github/workflows/labeler.yml.

The following configuration choices are applied in formalities.json:
- check_space_after_assignment: false (Disabled temporarily to catch any issues since it is a newly implemented check)
- check_makefile_indentation: false (Disabled temporarily to catch any issues since it is a new feature)
- check_patch_headers: 'warning' (Changed to warning instead of hard error since many legacy patches lack headers)
- enable_stale_bot: false (Disabled for now)

Other configurations can be adjusted in formalities.json based on the openwrt-bot-worker repository [1].

[1] https://github.com/openwrt/openwrt-bot-worker

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: openwrt#24256
(cherry picked from commit 9146f93)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Remove the .github/workflows/labeler.yml workflow and enable the "enable_labeler_yml" option in .github/formalities.json to let the webhook bot handle pull request labeling. This avoids running on GitHub Actions, so it is faster and uses fewer resources.

It uses the existing .github/labeler.yml for labels.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: openwrt#24256
(cherry picked from commit 4f2dc5c)
Link: openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
@Ansuel
Ansuel force-pushed the backport-formalities-2512 branch from e7c0d41 to 557a8e1 Compare July 20, 2026 10:52
@openwrt-bot
openwrt-bot merged commit 557a8e1 into openwrt:openwrt-25.12 Jul 20, 2026
4 of 5 checks passed
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Run this only when a PR is created, so either author or anyone who can
edit the PR message (all maintainers) can trigger such build.

Instead of maintaining it in the main repository, move it to the
external repository to bloat this repository less with further CI
commits.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 8cff0d8)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit bce309a33b1dd05dcc50b1bb2e0bf42f9bdff59c)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Add claude-code-review.yml using anthropics/claude-code-action@v1.
The review runs when a PR comment containing "/claude" is posted,
avoiding unnecessary API usage on every push.

Uses issue_comment trigger restricted to PR comments only. Only
triggers for users with write access (OWNER, MEMBER, COLLABORATOR)
and when the comment body contains "/claude", preventing any runner
from being allocated for unrelated comments. A short domain hint
steers the review toward OpenWrt embedded Linux conventions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt/openwrt#22556
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c0e75c9)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit c5f379d2f831951a8be4e52399b891dc09cdfa2f)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
The whitelist was too restrictive, causing permission denials when
Claude tried to use basic tools like Read or Grep to analyse the diff.
Remove it and let the action use its default toolset.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 29e1c7b)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit eb680551f2bed4bfcf60887b952efa1296e41987)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
The claude-code-action uses mcp__github_ci__get_ci_status and related
tools to check workflow run status as part of the review. Without
actions: read the GitHub API calls for CI status are rejected.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 122b2f2)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit dbef2c036ed0e4ed8d06eba7ddbb3739c5b118e2)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Without a prompt the action auto-detected mode: tag instead of agent
when triggered via issue_comment, resulting in no review being posted.
Remove the prompt so the action can correctly use its built-in agent
mode with full PR context.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 62ca0a9)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 12ac6b6bf036fc22998faeebd43452200edc3d62)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Version 1.0.49 added support for PRs from forked repositories.
This feature was reverted in v1.0.50, see:
anthropics/claude-code-action#937

v1.0.49 broke commits made by Claude, but we do not use that
feature. Pin to v1.0.49 until
anthropics/claude-code-action#963 is merged
and released.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b048949)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit e298f27a7f3fcf7152785148a5cc47dac5a2b3a1)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
…-fixed

Use a patched fork while waiting for
anthropics/claude-code-action#963 to be
merged and released upstream.

Version v1.0.77 contains many improvments over 1.0.49 which was used
before. It uses Sonnet 4.6 instead of Sonnet 4.5.

Fixes: c0e75c9 ("github: add Claude code review workflow triggered by /claude comment")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ced84f6)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f369189f706ee0890a7cf371f7c4b82cb41bec3d)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Allow Claude to post inline comments on specific lines when reviewing
PRs via the /claude trigger phrase.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt/openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4517ace)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f5ba85d385c083aa67f4784390b6730340e41e56)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
The workflow already uses contents: read which prevents GitHub from
accepting any push. The --disallowedTools setting adds a second layer
by stopping Claude from even attempting git write operations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt/openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 05e111a)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f659da5dac46cb1951708325f68ca321eef74824)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Allow Bash(grep:*) so Claude can search the codebase for context
during PR reviews. Without this, grep calls using shell glob patterns
were denied even though plain directory greps were allowed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt/openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a41cd89)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 924a4ec92d46c4b89751a738eb0bd3f7cc34ed92)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Instruct Claude to prefer inline comments for file/line-specific
findings and keep all feedback short and to the point.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt/openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 34f5a16)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3ccdb316c625fcc42468d84f479c4765b9774b58)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
track_progress: true makes Claude post an initial comment immediately
when triggered and update it with a checklist as it works, so reviewers
can see what Claude is doing rather than waiting for a silent delay.
It also forces tag mode on PR/issue comment events, which is the
correct mode for interactive code review.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt/openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9f88a27)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit e0bd67ca6a51c08dfb8f046bd2a7cbd04fa28d54)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Fix links open the Claude Code desktop app which is not useful in the
OpenWrt contributor workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: openwrt/openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 31b9fce)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit e62d8ae5f86bddb685ee49d976e2c134ac1feb00)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
This is based on version 1.0.93 plus these commits:
0ca689a fix: fetch base branch to ensure correct PR-only diffs
b7d533d fix: handle fork PRs by fetching via pull/N/head

Link: openwrt/openwrt#22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 746206d)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ff3288c78d3ba6020ebedccefb361462b6d2e161)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Update the dependencies to the latest version.
The biggest change is the update to Node.js 24.

Link: openwrt/openwrt#22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 372e57f243456da71d1bb28df7b332d9296b76d9)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit d45bec0b0c411205f60be6ca9e0ed9f309c75351)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Update to the most recent version.
The biggest change is the switch to Node.js 24.

Link: openwrt/openwrt#22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 05b6a93173135ab86f82663523b531577f5e6062)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit bd0545f30152034f17b5ce97182d633ff642cebb)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Drop-in wrapper that calls the reusable LLM review workflows in
openwrt/actions-shared-workflows. Triggers on pull_request_target
(incl. PRs from forks), a nightly cron (03:00 UTC), and manual
workflow_dispatch with a max_prs input override.

A detect-kernels pre-step builds the extra_repos list at workflow
runtime: it reads target/linux/generic/kernel-* in the base branch
to derive gregkh/linux:v<X.Y.Z> tags for each currently-targeted
kernel, then appends u-boot/u-boot:master. The list updates
automatically when kernel versions are bumped; the routine clones
only the entries actually needed for a given diff.

The bundled .github/llm-review-rules.md teaches the bot two
project-specific deprecations to flag even when other in-tree files
still use the legacy form:

  - LED label syntax `label = "<color>:<function>";` -->
    `color = <LED_COLOR_ID_*>;` + `function = "<func>";`
  - `mediatek,mtd-eeprom` for MAC sourcing -->
    `nvmem-cells` + `nvmem-cell-names = "mac-address";`

Repository settings need LLM_ROUTINE_ID_PR / LLM_ROUTINE_TOKEN_PR
and the *_NIGHTLY counterparts populated before the workflow can
fire. See openwrt/actions-shared-workflows/docs/llm-review-setup.md
for the full setup procedure.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Link: openwrt/openwrt#23105
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit af3cbd4013a2c8c82450e4a4b21a73d28ab4cda2)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 27ebdec580f16b9a316453ee7b9e0a2bb2b811a8)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Tightened from real bot reviews:

- Patch regeneration: spell out which make ... refresh command
  to recommend for each patch directory class, so the bot stops
  suggesting git format-patch for quilt-managed patches.
- Backports / cherry-picks: a backport's diff should match the
  upstream commit on main verbatim; flag only deviations and
  the missing (cherry picked from commit <sha>) trailer, not
  pre-existing style issues.
- New device support: require Hardware specification, Flash
  instructions, and MAC address layout sections in the commit
  message that introduces a new device. Two reference commits
  (986ca4c887f4, a2dcbd79a446) named so the bot can sample the
  expected shape.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link: openwrt/openwrt#23184
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0bef7411885e9f6e4d4f4224ec4a94565396010f)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit d9a0d02ef46d7f46b9aeafcbb15cf471f2cc7a65)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Allow the Build Kernel and Build all core packages workflows to be
launched manually from the Actions tab. The shared workflow side
detects workflow_dispatch and, for Build Kernel, rebuilds the full
target/subtarget matrix including testing kernel versions, so a
manual run can re-seed the s3 ccache when a queued push run got
displaced from the concurrency queue by the next commit on main.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: openwrt/openwrt#23283
(cherry picked from commit d9e6f9dce8ffcc037b89f3a35f4088dd19269ea0)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 266450df20e20f6d6711f9bf47263acba60a8f27)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Manual workflow_dispatch and push share the same ref on main, so
they previously landed in the same concurrency group
'Build Kernel-refs/heads/main' (and the equivalent for the packages
workflow). With cancel-in-progress: false for non-PR events, only
one run can be pending per group: a newer queued run cancels the
older pending one.

That made the manual trigger unreliable in both directions. A push
landing while a dispatch was queued displaced the dispatch (so the
ccache reseed never ran), and dispatching while a push was queued
displaced the push (so the legitimate per-commit build was lost).

Adding github.event_name to the concurrency group puts pushes,
dispatches, and pull_requests in separate buckets on the same ref,
so they no longer compete with each other.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: openwrt/openwrt#23283
(cherry picked from commit 3c7a1418c14934787c37f4a5a6dfc50c5fc5c0c1)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 9e560fd92a0f72265d9dba6f78c22826f4466d15)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Delete .github/workflows/claude-code-review.yml. It is superseded by
the LLM review action, which runs automatically and uses the Claude
routine API instead of the much more expensive Claude API.

Link: openwrt/openwrt#23474
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b36309575a2570793b40a75659952e680de58d3d)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 12de37240c9025565476b6130aa4262cbf81ace1)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Drop the pull_request_target trigger so the LLM review no longer runs
on opened/reopened PRs. We are limited to 15 Claude routine runs per
day, and the automatic per-PR trigger exhausted that budget on
several days, starving the nightly digest.

The nightly schedule and manual workflow_dispatch triggers remain.

Link: openwrt/openwrt#23474
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4871040d5d598e9156aacd99381f7aa7c57393e1)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 61f9378f615fae3ea165dfb80c3275938d4fc09f)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Change the schedule from once a day to twice a day (03:00 and 15:00
UTC) and raise the default max_prs from 16 to 24, so more open PRs
get covered now that the per-PR trigger has been removed.

Link: openwrt/openwrt#23474
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 49b5093679bd029846002dba859ab3a1933baa86)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 99a10e8f757528082c169b0bcee0122f8eb2f1a1)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
This commit migrates the repository validation to a webhook-based bot instead of the GitHub Actions workflow (.github/workflows/formal.yml).

Since the bot handles stable branch labeling automatically (via the "branch_labeling: true" configuration option), the redundant branch check and labeling steps are removed from .github/workflows/labeler.yml.

The following configuration choices are applied in formalities.json:
- check_space_after_assignment: false (Disabled temporarily to catch any issues since it is a newly implemented check)
- check_makefile_indentation: false (Disabled temporarily to catch any issues since it is a new feature)
- check_patch_headers: 'warning' (Changed to warning instead of hard error since many legacy patches lack headers)
- enable_stale_bot: false (Disabled for now)

Other configurations can be adjusted in formalities.json based on the openwrt-bot-worker repository [1].

[1] https://github.com/openwrt/openwrt-bot-worker

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: openwrt/openwrt#24256
(cherry picked from commit 9146f931b62e9b20df84566187a837b904df1e2f)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 87c745fc03b68540f2b2ec3be85c3232559257e2)
liudf0716 pushed a commit to liudf0716/chawrt that referenced this pull request Jul 21, 2026
Remove the .github/workflows/labeler.yml workflow and enable the "enable_labeler_yml" option in .github/formalities.json to let the webhook bot handle pull request labeling. This avoids running on GitHub Actions, so it is faster and uses fewer resources.

It uses the existing .github/labeler.yml for labels.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: openwrt/openwrt#24256
(cherry picked from commit 4f2dc5cc6497a6cef0a43bdefde522e734c1f40d)
Link: openwrt/openwrt#24318
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 557a8e1b8372c7c733d9c27fc90ca53f3aa10d3b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not following guidelines Pull request does not follow formatting guidelines release/25.12 pull request/issue targeted (also) for OpenWrt 24.10 release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants