hello-stephen opened a new pull request, #66957: URL: https://github.com/apache/doris/pull/66957
## Background The GitHub Actions queue for apache/doris has been heavily congested (recent 48h sample: 11180+ runs, ~53 concurrent slots demanded vs 25 available, median queue wait 73 min, max 41.7h). Most of the load comes from runs that do no useful work. This PR removes the redundant triggers and the expensive checkouts behind them, without changing what any check verifies. ## Changes ### 1. Drop the unused `issue_comment` triggers (5 workflows) `license-eyes.yml`, `checkstyle.yaml`, `clang-format.yml`, `build-extension.yml`, `build-thirdparty.yml` all listen to every issue comment, then exit at a job-level `if` unless the comment matches a three-way handshake (a `doris-robot` comment on a `github-actions[bot]`-created issue). That handshake has never happened (0 matching runs in 30 days, 0 matching issues in search history), yet ~3600 runs per 48h were created and immediately exited. The `workflow_dispatch` trigger remains for manual re-runs. ### 2. Check PR title: validate inline, no checkout `title-checker.yml` checked out the whole repository (with recursive submodules, ~15 min/run) just to test `github.event.pull_request.title` against a regex. The check now reads the title from the event payload and posts the same failure comment, ~40s per run. ### 3. Dependency License Review: only run when manifests change `third_party_review.yml` adds `on.pull_request.paths` covering the dependency manifests scanned by dependency-review-action (`thirdparty/**`, `env.sh`, `build.sh`, `**/pom.xml`, `**/go.mod`, `**/go.sum`, `**/Gemfile`, `**/requirements*.txt`, `**/package.json`, lock files, etc.). PRs that don't touch dependencies no longer run this check. ### 4. Check Large File: GitHub API instead of double checkout `lfs-warning.yml` checked out the repository (recursive submodules) and then cloned the external `ppremk/lfs-warning` action, ~17 min/run for a 1MB file-size check. It now fetches the added files via the pulls/commits API and measures sizes via `raw_url` Content-Length, ~30s per run. The `push` trigger is narrowed to `master` (PRs are already covered by `pull_request_target`, which also removed the double-checking of in-repo branch PRs). One intentional behavior change: a direct master push with an oversized file now fails the check instead of being ignored. ### 5. Label when approved workflow run: inline the submodule actions, no checkout `approve-label.yml` checked out the repository (recursive submodules) to load the `get-workflow-origin` and `label-when-approved-action` submodules. Both are thin API wrappers and are now inlined as `gh api` calls with identical semantics (latest review per reviewer wins; `reviewed` = any approval, add-only; `approved` = committer approval, added/removed; CHANGES_REQUESTED vetoes). ~14 min/run → ~30s/run. ## Expected effect - ~2500 fewer runs/day, wall-clock ~1275h → ~670h per day (-48%) - Queue noise from instant-exit runs is largely gone 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
