Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/opencode-review-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3984,6 +3984,7 @@ jobs:
id: opencode_review_model_pool
if: needs.coverage-evidence.result == 'success'
continue-on-error: true
timeout-minutes: 15
env:
SHARE: "false"
NPM_CONFIG_IGNORE_SCRIPTS: "true"
Expand Down
4 changes: 2 additions & 2 deletions scripts/ci/test_strix_quick_gate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -780,7 +780,7 @@ assert_opencode_review_uses_codegraph_and_contextual_orchestrator() {
assert_file_contains "$REPO_ROOT/scripts/ci/strix_quick_gate.sh" "billing details" "strix quick gate classifies provider quota starvation as infrastructure"
assert_file_not_contains "$workflow_file" 'timeout-minutes: 325' "opencode review target must not cap inference"
assert_file_contains "$workflow_file" 'timeout-minutes: 12' "opencode evidence preparation fails closed before it ties up the review queue"
assert_file_not_contains "$workflow_file" 'timeout-minutes: 205' "opencode model pool step must not cap inference"
assert_file_contains "$workflow_file" 'timeout-minutes: 15' "opencode model pool returns its shared runner after 900 seconds"
assert_file_contains "$workflow_file" 'timeout-minutes: 34' "opencode fast approval publication is bounded around the dynamic image and package/GPU check wait"
assert_file_contains "$workflow_file" 'continue-on-error: true' "opencode approval gate still runs after model-pool failure to publish a reason"
assert_file_not_contains "$workflow_file" 'OPENCODE_RUN_TIMEOUT_SECONDS:' "opencode primary review has no inference timeout"
Expand Down Expand Up @@ -1320,7 +1320,7 @@ assert_opencode_review_uses_codegraph_and_contextual_orchestrator() {
assert_file_contains "$workflow_file" "collect_failed_check_evidence.sh" "opencode review workflow collects failed check logs and annotations"
assert_file_contains "$workflow_file" 'HEAD_SHA: ${{ needs.validate-pr-metadata.outputs.head_sha }}' "opencode evidence step passes the live validated HEAD_SHA to failed-check evidence collection"
assert_file_contains "$workflow_file" "FAILED_CHECK_EVIDENCE_ATTEMPTS" "opencode review workflow bounds waiting for peer check failures before model review"
assert_file_not_contains "$workflow_file" 'timeout-minutes: 205' "opencode model stage has no inference timeout"
assert_file_contains "$workflow_file" 'timeout-minutes: 15' "opencode model stage has a 900-second inference timeout"
assert_file_contains "$workflow_file" 'timeout-minutes: 12' "opencode evidence preparation has a bounded peer-check wait timeout"
assert_file_contains "$workflow_file" 'FAILED_CHECK_EVIDENCE_ATTEMPTS: "6"' "opencode review workflow keeps pre-model peer-check waiting bounded for required workflow DX"
assert_file_contains "$workflow_file" 'FAILED_CHECK_EVIDENCE_SLEEP_SECONDS: "5"' "opencode review workflow retries peer-check evidence without stalling the model stage for Strix-scale durations"
Expand Down
3 changes: 3 additions & 0 deletions tests/test_opencode_agent_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -1962,6 +1962,9 @@ def test_workflow_provisions_sandbox_tool_and_reviewer_agent():
assert not re.search(
r"Run OpenCode PR Review model pool[\s\S]{0,240}timeout-minutes: 205", workflow
)
assert re.search(
r"Run OpenCode PR Review model pool[\s\S]{0,240}timeout-minutes: 15", workflow
)
assert 'OPENCODE_RUN_TIMEOUT_SECONDS: "5400"' not in workflow
assert 'OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "11700"' not in workflow
assert 'OPENCODE_POOL_STEP_TIMEOUT_SECONDS: "12000"' not in workflow
Expand Down
Loading