qwen-code/.github/scripts
Shaojin Wen 2da42099d4
fix(ci): don't fail triage cleanup when there is nothing to clean (#7688)
The 'Clean stale agent state' step strips non-allowlisted keys from the
persistent workspace's local git config through a
`git config --list | grep -ivE <allowlist> | while ...` pipeline. When
the config holds only allowlisted keys — the steady state on a reused
runner this step already sanitized, since actions/checkout's post step
removes its auth extraheader at job end — grep matches nothing and
exits 1. Under the default `bash -e` shell combined with the script's
`set -o pipefail`, that kills the step exactly when there is nothing
to clean, before any output, and every downstream triage step is
skipped (seen on run 30095456731, runner ecs-qwen-runner-sg-4).

Guard the grep with `|| true` so an empty match feeds an empty loop
instead of failing the job. Sanitization behavior is unchanged:
non-allowlisted keys (core.pager, include.path, `!`-aliases) are
still stripped.

The workflow test harness missed this because its allowlist test
re-assembles the pipeline without the step's shell flags and always
plants non-allowlisted keys first. Add a steady-state regression test
that runs the step's actual script under `bash -e` against a config
holding only allowlisted keys, plus a negative control that strips the
guard and demands the step die — red on the old workflow, green now.

Co-authored-by: verify <verify@local>
2026-07-24 17:44:25 +00:00
..
ci ci: add lightweight PR profiles (#6186) 2026-07-03 07:40:25 +00:00
check-autofix-contracts.sh ci(autofix): add cross-package contract verification (#7642) 2026-07-24 05:13:04 +00:00
check-settings-schema.sh ci(autofix): recover from generated-artifact CI gates and stop silent stalls (#6998) 2026-07-17 03:26:43 +00:00
ci-flaky-rerun.mjs feat(ci): auto-open a deflake fix issue for confirmed flaky tests (#7231) 2026-07-19 16:49:29 +00:00
classify-release-notes.mjs ci: move release-note classifier from per-PR workflow to release-time batch (#7339) 2026-07-20 23:52:09 +00:00
classify-release-notes.test.mjs ci: move release-note classifier from per-PR workflow to release-time batch (#7339) 2026-07-20 23:52:09 +00:00
pr-safety-precheck.mjs fix(ci): limit fork PR precheck to safety signals (#6178) 2026-07-02 20:56:41 +08:00
pr-safety-precheck.test.mjs fix(ci): limit fork PR precheck to safety signals (#6178) 2026-07-02 20:56:41 +08:00
pr-triage.sh Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
qwen-triage-workflow.test.mjs fix(ci): don't fail triage cleanup when there is nothing to clean (#7688) 2026-07-24 17:44:25 +00:00
resolve-owning-packages.sh fix(autofix): resolve owning package for nested paths; report verify-failed handoffs as not pushed (#7330) 2026-07-20 14:39:56 +00:00
resolve-sandbox-image.mjs ci(autofix): restore sandbox image flow (#6261) 2026-07-03 15:30:58 +00:00
resolve-sandbox-image.test.mjs ci(autofix): restore sandbox image flow (#6261) 2026-07-03 15:30:58 +00:00
run-autofix-review-verification.sh refactor(autofix): extract review verification runner (#7644) 2026-07-24 16:46:24 +00:00
serve-ab-diff.mjs ci(serve): daemon A/B before/after preview on response-surface PRs (#6975) 2026-07-16 00:58:52 +00:00
serve-ab-diff.test.mjs ci(serve): daemon A/B before/after preview on response-surface PRs (#6975) 2026-07-16 00:58:52 +00:00
serve-ab-drive.mjs ci(serve): daemon A/B before/after preview on response-surface PRs (#6975) 2026-07-16 00:58:52 +00:00
web-shell-visuals-compose.mjs ci(web-shell): denoise cross-job font-AA so visual previews stop false-flagging (#7210) 2026-07-19 11:27:08 +00:00
web-shell-visuals-compose.test.mjs ci(web-shell): denoise cross-job font-AA so visual previews stop false-flagging (#7210) 2026-07-19 11:27:08 +00:00
web-shell-visuals-publish.mjs 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-publish.test.mjs fix(ci): don't let one failing scenario sink the whole visual preview (#7511) 2026-07-23 02:34:07 +00:00