mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-07 07:45:54 +00:00
* feat(autofix): auto-rerun a check that died on infrastructure, once A failed check can be red because the machine died, not the code — a self-hosted runner losing the server, the disk filling. #7490's E2E failed with "runner lost communication with the server" and went green on a rerun. The scan now reruns such a check's failed jobs automatically. Detection is a conservative annotation whitelist (INFRA_FAILURE_SIGNATURES) — only unambiguous machine failures, never a test-level timeout, which could be a real regression. The one-shot guard is run_attempt, not a marker: a run already retried to attempt 2 and still infra-failing is persistent, so it is left for a human; after a rerun the attempt increments, so the next scan will not rerun it. Every step is fail-safe (any API error → no rerun), it runs only when the PR actually has a failed check, and the gate carries the same review-address carve-out as the other check selectors so the loop never reruns its own runs. This is the transient-infra sibling of #7554 (stale-base): that merges current main when a check is base-inherited; this reruns when a check died on the runner. Neither touches a check that is a genuine failure. Note: rerun-failed-jobs needs the PAT to hold `actions: write`. * fix(autofix): use POSIX ERE groups in infra-failure regex, cover all signatures in tests (#7562) * fix(autofix): also treat a git fetch/clone transport death as infra #6506's checkout died mid-transfer — "fetch-pack: invalid index-pack output" and "RPC failed; curl 92 ... CANCEL" — which then hung the job into the 20m limit. That is infra, not the PR (it only touches a doc), and a re-run made it green. But the infra-signature whitelist did not cover it, so the auto-rerun did not fire and it waited on a human. Add `invalid index-pack output` and `RPC failed` — the two canonical git-transport-death phrases — to INFRA_FAILURE_SIGNATURES. A co-present job-timeout line does not block the match (one matching line classifies the run), and a BARE timeout with no transport signature is still left alone, since it can be a real regression. Both new signatures are pinned in the test's per-signature loop, plus a case on #6506's real composite annotation and a bare-timeout-is-not-rerun guard. * fix(autofix): paginate annotations and filter Autofix runs in infra-rerun loop (#7562) --------- Co-authored-by: wenshao <wenshao@example.com> Co-authored-by: Qwen Code Bot <qwen-code-bot@users.noreply.github.com> Co-authored-by: qwen-code-ci-bot <qwen-code-ci-bot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| audio-capture-prebuilds.yml | ||
| build-and-publish-image.yml | ||
| cd-cua-driver.yml | ||
| cd-mobile-mcp.yml | ||
| ci.yml | ||
| codeql.yml | ||
| comment-attachment-guard.yml | ||
| desktop-release.yml | ||
| docs-page-action.yml | ||
| e2e.yml | ||
| finalize-release.yml | ||
| gemini-scheduled-pr-triage.yml | ||
| main-ci-failure-issue.yml | ||
| pr-force-push-reminder.yml | ||
| qwen-autofix.yml | ||
| qwen-ci-flaky-rerun.yml | ||
| qwen-code-pr-review.yml | ||
| qwen-fleet-shepherd.yml | ||
| qwen-issue-followup-bot.yml | ||
| qwen-pr-safety-precheck.yml | ||
| qwen-triage.yml | ||
| release-sdk-python.yml | ||
| release-sdk.yml | ||
| release-vscode-companion.yml | ||
| release.yml | ||
| sdk-python.yml | ||
| serve-ab-publish.yml | ||
| serve-ab.yml | ||
| stale.yml | ||
| sync-cua-driver-to-oss.yml | ||
| sync-release-to-oss.yml | ||
| terminal-bench.yml | ||
| update-ecs-runner-qwen.yml | ||
| web-shell-visuals-cleanup.yml | ||
| web-shell-visuals-publish.yml | ||
| web-shell-visuals.yml | ||