From e8e9ed5bbf7a16ce1e8914f12dbb24e8497076bd Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 11 Jul 2026 09:39:36 +0800 Subject: [PATCH 1/2] ci(review): raise default PR review timeout from 120 to 180 minutes --- .github/workflows/qwen-code-pr-review.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qwen-code-pr-review.yml b/.github/workflows/qwen-code-pr-review.yml index 7dbf2caded6..8b7edafcea1 100644 --- a/.github/workflows/qwen-code-pr-review.yml +++ b/.github/workflows/qwen-code-pr-review.yml @@ -40,7 +40,7 @@ on: timeout_minutes: description: 'Review timeout in minutes' required: false - default: '120' + default: '180' type: 'number' dry_run: description: 'Run /resolve without pushing' @@ -398,14 +398,14 @@ jobs: TRIGGER_BODY: "${{ github.event.comment.body || github.event.review.body || '' }}" run: |- set -euo pipefail - DEFAULT_TIMEOUT_MINUTES=120 + DEFAULT_TIMEOUT_MINUTES=180 TIMEOUT_MINUTES="$DEFAULT_TIMEOUT_MINUTES" TRIGGER_COMMAND="${TRIGGER_BODY%%$'\n'*}" if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then PR_NUMBER="${{ github.event.inputs.pr_number }}" REVIEW_MODE="${{ github.event.inputs.review_mode }}" - TIMEOUT_MINUTES="${{ github.event.inputs.timeout_minutes || '120' }}" + TIMEOUT_MINUTES="${{ github.event.inputs.timeout_minutes || '180' }}" elif [ "${{ github.event_name }}" = "issue_comment" ]; then if ! printf '%s\n' "$TRIGGER_COMMAND" | grep -Eq '^@qwen-code[[:space:]]+/review([[:space:]]|$)'; then echo "should_run=false" >> "$GITHUB_OUTPUT" From ae90a50796dac8cf1a119df5e90042338054d98c Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 11 Jul 2026 12:04:28 +0800 Subject: [PATCH 2/2] ci(review): allow review timeout overrides up to 240 minutes --- .github/workflows/qwen-code-pr-review.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/qwen-code-pr-review.yml b/.github/workflows/qwen-code-pr-review.yml index 8b7edafcea1..b60b241390a 100644 --- a/.github/workflows/qwen-code-pr-review.yml +++ b/.github/workflows/qwen-code-pr-review.yml @@ -347,7 +347,7 @@ jobs: startsWith(github.event.review.body, '@qwen-code /review ') || startsWith(github.event.review.body, format('@qwen-code /review{0}', '\n'))) && needs.authorize.outputs.should_review == 'true')) - timeout-minutes: 200 + timeout-minutes: 260 runs-on: '${{ (github.repository == ''QwenLM/qwen-code'' && vars.MAINTAINER_ECS_RUNNER_DISABLED != ''true'') && fromJSON(''["self-hosted", "linux", "x64", "ecs-qwen"]'') || fromJSON(''["ubuntu-latest"]'') }}' permissions: contents: 'read' @@ -684,8 +684,8 @@ jobs: if [ "$TIMEOUT_MINUTES" -le 5 ]; then fail "timeout_minutes must be greater than 5" fi - if [ "$TIMEOUT_MINUTES" -gt 180 ]; then - fail "timeout_minutes must not exceed 180 minutes" + if [ "$TIMEOUT_MINUTES" -gt 240 ]; then + fail "timeout_minutes must not exceed 240 minutes" fi if ! PR_DATA="$(gh pr view "$PR_NUMBER" --repo "$REPO" --json state,headRefOid --jq '[.state, .headRefOid] | @tsv')"; then @@ -802,10 +802,10 @@ jobs: exit 0 fi if [ "$FAILURE_KIND" = "timeout" ]; then - if [ "$TIMEOUT_MINUTES" -lt 180 ]; then - body="**Qwen Code review timed out.** ${FAILURE_REASON} For large PRs, retry with a longer timeout by commenting: \`@qwen-code /review --timeout=180\`. See [workflow logs](${RUN_URL})." + if [ "$TIMEOUT_MINUTES" -lt 240 ]; then + body="**Qwen Code review timed out.** ${FAILURE_REASON} For large PRs, retry with a longer timeout by commenting: \`@qwen-code /review --timeout=240\`. See [workflow logs](${RUN_URL})." else - body="**Qwen Code review timed out.** ${FAILURE_REASON} This run already used the maximum 180 minute timeout. See [workflow logs](${RUN_URL})." + body="**Qwen Code review timed out.** ${FAILURE_REASON} This run already used the maximum 240 minute timeout. See [workflow logs](${RUN_URL})." fi else body="**Qwen Code review did not complete successfully.** ${FAILURE_REASON} See [workflow logs](${RUN_URL})."