qwen-code/.github/workflows
Shaojin Wen cc508dd7ba
fix(autofix): salvage race-lost pushes by merging the moved head and retrying (#8042)
* fix(autofix): salvage race-lost pushes by merging the moved head and retrying

The review-address push is one-shot: when anything pushes to the PR head
during the agent's ~50-minute window, the final push dies 'fetch first'
and the entire verified agent run is discarded. The per-PR head-write
concurrency group cannot prevent this — it serialises this repo's
workflows, not the PR author or the fork side. Observed twice in one day
(#7983 after a 56-minute run, #7985 after 43 minutes).

On rejection, fetch the moved head, merge it into the local line, and
retry (bounded at 3 attempts). Merge rather than rebase: the agent's own
conflict-resolution rounds create merge commits, and a rebase would
flatten them and can silently re-introduce the conflicts they resolved.
The merge result descends from the remote head, so the retried push is a
fast-forward and rewrites nothing. A genuine content conflict aborts the
merge and falls through to the existing failure path unchanged.

When a salvage merge happened, the round report discloses that the
round's verification predates the merge so mid-run commits get
re-checked by a human.

* fix(autofix): address salvage-loop review findings

- Gate the PUSH_RACE_MERGED disclosure on HEAD actually advancing: a
  transient push failure (upload timeout, 503) on an unmoved branch
  no-ops the merge ('Already up to date') and must not tell the
  reviewer to re-check mid-run commits that never existed.
- Annotate the salvage fetch failure with ::error:: like the two
  adjacent failure paths, so a deleted fork branch or network error
  does not kill the step with an unannotated exit 128 under bash -e.
- Re-pin the same-repo push URL construction in tests: it lost its old
  'origin "${BRANCH}"' pin in this rework, leaving a ${REPO}→${HEAD_REPO}
  mutation (malformed remote in the same-repo case) unkillable.

* test(autofix): restore dropped mutation-killing pins and add structural assertions (#8042)

* test(autofix): pin exit 1 in the give-up guard regex to kill the deletion mutation (#8042)

* test(autofix): pin exit 1 in the fetch-failure and merge-conflict salvage paths (#8042)

* test(autofix): strengthen salvage-test pins to kill init-value and capture-order mutations (#8042)

---------

Co-authored-by: verify <verify@local>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com>
2026-07-30 11:38:47 +00:00
..
audio-capture-prebuilds.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
auto-minimize-spam.yml ci: auto-minimize comments from org-blocked users (#7899) 2026-07-29 23:37:42 +00:00
build-and-publish-image.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
cd-cua-driver.yml fix(mcp): add opt-in model payload filtering (#7413) 2026-07-21 09:49:04 +00:00
cd-mobile-mcp.yml fix(mcp): add opt-in model payload filtering (#7413) 2026-07-21 09:49:04 +00:00
ci.yml ci: auto-minimize comments from org-blocked users (#7899) 2026-07-29 23:37:42 +00:00
codeql.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
comment-attachment-guard.yml fix(ci): gate the attachment guard before it allocates a runner (#8095) 2026-07-30 06:32:55 +00:00
desktop-release.yml fix(ci): avoid oversized desktop release notes (#6792) 2026-07-13 03:25:21 +00:00
docs-page-action.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
dsw-swe-verified-release.yml ci: add isolated DSW SWE-bench release pipeline (#7656) 2026-07-29 06:35:58 +00:00
e2e.yml test(integration): migrate flaky E2E tests to fake-openai-server (#7934) 2026-07-29 11:42:32 +00:00
finalize-release.yml fix(release): raise model timeouts and shrink batch size for slow networks (#8007) 2026-07-29 22:38:35 +00:00
gemini-scheduled-pr-triage.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
main-ci-failure-issue.yml fix(ci): keep the post-merge E2E signal on main alive (#7795) 2026-07-28 11:54:52 +00:00
pr-force-push-reminder.yml ci(autofix): run agents on dedicated ECS runners (#6207) 2026-07-03 07:40:07 +00:00
pr-self-report-label.yml ci: label a PR that closes an issue its own author opened (#7630) 2026-07-24 05:50:47 +00:00
qwen-autofix.yml fix(autofix): salvage race-lost pushes by merging the moved head and retrying (#8042) 2026-07-30 11:38:47 +00:00
qwen-ci-flaky-rerun.yml fix(ci): stop a slow patrol classifier from killing every flaky rerun (#7358) 2026-07-21 02:33:51 +00:00
qwen-code-pr-review.yml fix(ci): restore workspace ownership before checkout in PR review job (#8062) 2026-07-29 23:18:44 +00:00
qwen-fleet-shepherd.yml feat(autofix): label-driven takeover and release; fix forced-dispatch green no-op (#7165) 2026-07-19 07:35:13 +00:00
qwen-issue-followup-bot.yml fix(ci): consolidate issue triage ownership (#7180) 2026-07-19 10:58:40 +00:00
qwen-pr-safety-precheck.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
qwen-triage-finalize.yml fix(ci): rename triage status marker to avoid duplicate-guard collision (#7723) 2026-07-26 15:51:22 +00:00
qwen-triage.yml feat(triage): make /verify evidence screenshots actually possible (#8016) 2026-07-30 05:37:42 +00:00
release-sdk-java.yml fix(sdk-java): Harden daemon transport reliability (#7603) 2026-07-24 04:22:05 +00:00
release-sdk-python.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
release-sdk.yml fix(ci): skip empty SDK release PR (#6861) 2026-07-14 13:19:42 +00:00
release-vscode-companion.yml fix(ci): add retry logic to VSCode IDE Companion publish steps (#6574) 2026-07-09 09:54:27 +00:00
release.yml fix(release): bump preview base past published stable (#7978) 2026-07-29 23:21:00 +00:00
sdk-java.yml fix(sdk-java): Harden daemon transport reliability (#7603) 2026-07-24 04:22:05 +00:00
sdk-python.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
serve-ab-publish.yml ci(serve): daemon A/B before/after preview on response-surface PRs (#6975) 2026-07-16 00:58:52 +00:00
serve-ab.yml ci(serve): daemon A/B before/after preview on response-surface PRs (#6975) 2026-07-16 00:58:52 +00:00
stale.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
sync-cua-driver-to-oss.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
sync-release-to-oss.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
terminal-bench.yml Upgrade GitHub Actions for Node 24 compatibility (#5157) 2026-07-07 12:17:22 +00:00
update-ecs-runner-qwen.yml fix(ci): update the Qwen binary used by ECS runners (#8000) 2026-07-29 05:24:56 +00:00
web-shell-visuals-cleanup.yml feat(triage): make /verify evidence screenshots actually possible (#8016) 2026-07-30 05:37:42 +00:00
web-shell-visuals-publish.yml fix(ci): don't let one failing scenario sink the whole visual preview (#7511) 2026-07-23 02:34:07 +00:00
web-shell-visuals.yml fix(ci): don't let one failing scenario sink the whole visual preview (#7511) 2026-07-23 02:34:07 +00:00
windows-runner-smoke.yml ci: add Windows runner smoke test (#8008) 2026-07-29 08:44:36 +00:00