fix(ci): unblock staging Docker Build and echo tool E2E test - #2661
Merged
Merged
Conversation
Two independent staging CI regressions: 1. Docker Build was failing because `cargo install wasm-tools@1.246.1` re-resolved to the newest compatible `constant_time_eq@0.4.3`, which requires rustc >= 1.95, while the chef stage is pinned to rust:1.92. Add `--locked` so cargo uses the Cargo.lock shipped with each crate. 2. `test_builtin_echo_tool` started failing after PR #2555 intentionally aligned the in-memory history path with DB semantics: tool previews now surface in `result` with `result_preview` left empty. The test only inspected `result_preview`, so it timed out. Accept the preview from either field in `_wait_for_turn`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes two CI regressions blocking the Staging CI workflow: Docker image builds failing due to cargo install dependency re-resolution, and an E2E test timing out after tool output field semantics changed in #2555.
Changes:
- Pin
cargo installresolution in the Docker chef stage by adding--locked. - Update the tool execution E2E wait logic to accept tool output from either
result_previeworresult.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| tests/e2e/scenarios/test_tool_execution.py | Makes the echo-tool E2E test resilient to tool output being present in either result_preview or result. |
| Dockerfile | Adds --locked to cargo install to prevent pulling newer transitive deps requiring a newer rustc. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
There was a problem hiding this comment.
Code Review
This pull request improves build reproducibility in the Dockerfile by adding the --locked flag to cargo installations and updates the E2E test suite to correctly handle tool call results from both in-memory and database-hydrated turns. I have no feedback to provide.
Merged
theredspoon
pushed a commit
to theredspoon/ironclaw
that referenced
this pull request
Jun 21, 2026
…2661) Two independent staging CI regressions: 1. Docker Build was failing because `cargo install wasm-tools@1.246.1` re-resolved to the newest compatible `constant_time_eq@0.4.3`, which requires rustc >= 1.95, while the chef stage is pinned to rust:1.92. Add `--locked` so cargo uses the Cargo.lock shipped with each crate. 2. `test_builtin_echo_tool` started failing after PR nearai#2555 intentionally aligned the in-memory history path with DB semantics: tool previews now surface in `result` with `result_preview` left empty. The test only inspected `result_preview`, so it timed out. Accept the preview from either field in `_wait_for_turn`. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two independent regressions have been keeping the Staging CI (Batched) workflow red for ~24h. Both fixed here:
cargo install wasm-tools@1.246.1in the chef stage re-resolved transitive deps to the newest compatible versions and picked upconstant_time_eq@0.4.3, which requires rustc ≥ 1.95. The chef stage is pinned torust:1.92-bookworm. Cargo itself emittedTry re-running \cargo install` with `--locked`— added that flag so cargo uses each crate's shippedCargo.lock`.test_builtin_echo_tool— PR Fix gateway tool output visibility and timing #2555 (merged 2026-04-18) intentionally aligned the in-memory history path with DB semantics: tool previews now land intool_calls[*].resultwithresult_previewleft asNone. The test predated that change and only inspectedresult_preview, so it timed out despite the data being present. Updated_wait_for_turnto read the preview from eitherresult_previeworresult.Test plan
cargo build --no-default-features --features libsql --bin ironclawsucceeds locallypytest tests/e2e/scenarios/test_tool_execution.py— 3 passed (was 1 failing)extensionsgroup run locally — 146 passed, 5 skipped (matches CI shape)🤖 Generated with Claude Code