Repository navigation
CI: vendor silent-error tests join vendor suite (#1089) - #1550
Merged
Mikola Lysenko (mikolalysenko) merged 3 commits intoOct 14, 2026
Merged
Mikola Lysenko (mikolalysenko) merged 3 commits into
Mikola Lysenko (mikolalysenko) merged 3 commits into
Conversation
Assisted-by: Claude Code:claude-opus-5-5
coverage_fix_vendor_silent_mute_exit.rs was its own test binary with its own runner and a raw events[0] envelope read. It now lives in the vendor suite as vendor/vendor_silent_staging_errors.rs, next to its apply twin apply/apply_silent_staging_errors.rs, so CI links one fewer test binary. The tests spawn the CLI through npm_fixture::run_cli (hermetic env), read the --json envelope through common::envelope (find_event for the failed/apply_failed event, plus its purl and partialFailure status), and the --silent checks require the error line to name the patch purl rather than matching a free-form word. The module doc now names the envelope code vendor really emits (apply_failed, not no_local_source). The Windows shard timings move the old binary's seconds onto vendor. Refs #1089. Assisted-by: Claude Code:claude-opus-5-5
Review of the move found the vendor silent tests described a staging layer vendor no longer uses and matched the free-form word "request", which comes as much from the HTTP client's text as from ours. The file is now vendor/vendor_silent_errors.rs. Its docs describe what it really pins: the per-patch "Error:" line vendor prints for a patch it can't source, offline and against a dead patch service. Both --silent tests now require an "Error:" line naming the patch purl. The offline run spawns the hermetic binary directly again, so no fixture patch service or SOCKET_VENDOR_URL changes the branch under test. dead_endpoint() moves into npm_fixture.rs instead of being copied a third time into the vendor binary. The apply twin's docs no longer claim vendor emits no_local_source, and the vendor shard timing counts only the moved tests' runtime, not the old binary's link time. Refs #1089. Assisted-by: Claude Code:claude-opus-5-5
Mikola Lysenko (mikolalysenko)
marked this pull request as ready for review
October 14, 2026 22:07
Collaborator
Author
|
BugBot review Generated by Claude Code |
14 tasks
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 69c08f0. Configure here.
Tanmay Singla (Tanmay182003)
approved these changes
Oct 14, 2026
Collaborator
Author
|
Ready for review (burn-down agent)
Generated by Claude Code |
Mikola Lysenko (mikolalysenko)
deleted the
agent/fix-ci-vendor-silent-staging-errors
branch
October 14, 2026 23:56
This was referenced Oct 15, 2026
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.
LLM Description written by Claude Code:claude-opus-5-5
Refs #1089. This is the last open piece of child 3: the vendor twin of the apply slice in #1546.
What changes
tests/coverage_fix_vendor_silent_mute_exit.rswas a standalone test binary. It is nowtests/vendor/vendor_silent_errors.rsinside thevendorsuite binary, so CI links one fewer integration test binary.--jsontest reads the envelope throughcommon::envelope. It checks for afailedevent witherrorCode = apply_failedwhosepurlis the patch, instead of a rawevents[0]["errorCode"]read.--silenttests now check that stderr has anError:line naming the patch purl. They used to match free-form words:offline, andrequest, which comes as much from reqwest's error text as from ours.Error:line, offline and against a dead patch service. The old docs named astage_vendor_sources_in_memorystaging layer and ano_local_sourceenvelope code, and vendor uses neither. The apply twin's cross-reference is corrected to match.dead_endpoint()moves intovendor/npm_fixture.rs. It had three identical copies in the vendor binary, and two of them now import it from there.scripts/ci-test-durations.json(Windows shard timings only): the old binary's entry is dropped andvendorgoes from 11.52s to 12.8s. That adds only the moved tests' runtime (~1.3s); the rest of the old 7.4s was the removed binary's link time.CI cost
Workflows are unchanged. A lean PR run has the same ~28 Linux jobs before and after, at roughly the same job-minutes. The Linux test shards build one fewer test binary, which saves a few seconds of link time per shard. That is too small to justify a
ci-perflabel.Test evidence
cargo test -p socket-patch-cli --all-features --test vendor: 151 passed, including the 3 moved tests.cargo fmt --all -- --check: clean.cargo clippy --locked --workspace --all-features -- -D warnings(CI's invocation): clean.python3 -m unittest discover -s scripts/tests: 347 tests OK, 6 skipped. This includes the shard planner test that readsci-test-durations.json.ci-okandclippygreen, and every lean job passed. Cursor Bugbot found no issues./code-review high
I fixed these findings: the stale docs, the sentence-fragment matches, the offline run spawning an unneeded fixture patch service (it now uses
hermetic::binary_commanddirectly, as before), thestagingmisnomer in the file name, the questionablepartialFailureassertion (dropped), the duplicateddead_endpoint, the apply twin's stale cross-reference, and the inflated shard timing.I did not take these:
sktsec_placeholder_value_for_tests_apitoken. That token triggers the token-shape warning on stderr, and the--jsontest requires stderr to stay clean. I tried it and the test failed, so the well-formed token stays, with a comment explaining why.stderr_chatterthroughcommon. It has five copies across five different test binaries. Merging them is a cross-suite change outside this slice.🤖 Generated with Claude Code
https://claude.ai/code/session_017QqpxAuxWR1QbGKykwjMUV
Generated by Claude Code