Repository navigation
Conversation
…n wiring Pull the sandbox destroy and cdk ls argv into buildSandboxDestroyArgs and buildSandboxLsArgs and assert their --app value with literals for both cmd.exe and POSIX, so a revert to single quotes (the original Windows bug) fails a test. A module-mock test asserts that both destroy paths list their stacks with runCapture and run cdk destroy with runSync. quoteCdkAppPath now refuses a double quote on Windows, and runCapture's signal branch has a test.
… wiring test buildSandboxSynthArgs and buildSandboxDeployArgs take an optional platform, so their win32 and POSIX --app forms are asserted with literals. The wiring test uses a path with a single quote (so re-inlining the old single-quoted argv at a call site fails), asserts the argv literally, and checks that both destroys run CDK with --conditions=cdk. listSandboxStackNames builds its argv outside the try, so an invalid path is not reported as a listing failure.
|
| Name | Type |
|---|---|
| @aws-blocks/core | Patch |
| @aws-blocks/blocks | Patch |
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
|
Windows E2E on head b686227: run 39972013006. From the logs (the job status alone is not proof until #946): the first |
📖 Glossary & notes — scoring, indicators, per-metric thresholds (click to expand)
Results — PR vs
|
| Task | Template | Tests | Judge | Cost | Turns | Score | Stop reason |
|---|---|---|---|---|---|---|---|
| async-word-counter | bare | — | — | ✨ $5.73 (-$1.28) | ✨ 28 (-8) | — | endTurn |
| auth-notes | demo | — | — | ❌ $10.25 (+$3.5) | ❌ 47 (+15) | — | endTurn |
| cognito-profile | auth-cognito | — | — | ✨ $11.17 (-$3.06) | ✨ 39 (-10) | — | endTurn |
| collab-presence-board | default | — | — | ❌ $7.36 (+$4.15) | ❌ 37 (+16) | — | endTurn |
| email-digest | demo | — | — | ✨ $4.64 (-$0.76) | ✅ 24 (-2) | — | endTurn |
| file-gallery | bare | — | — | ✨ $2.71 (-$0.32) | ✅ 19 (+1) | — | endTurn |
| kb-chat-agent | demo | — | — | ❌ $32.06 (+$8.43) | ❌ 65 (+12) | — | endTurn |
| observability-api | backend | — | — | ❌ $6.38 (+$1.28) | ✅ 30 (+1) | — | endTurn |
| oidc-dsql-notes | react | — | — | ✨ $6.59 (-$2.34) | ✨ 29 (-6) | — | endTurn |
| sql-kb-catalog | nextjs | — | — | ✨ $4.64 (-$1.01) | ✨ 27 (-5) | — | endTurn |
Merge verdict
✅ This bench run does not block the PR.
- ⚪ Absolute floor — BENCH_MIN_SCORE=65 set, but no cell was scored — floor skipped (conservative).
- ⚪ Regression vs
main— BENCH_MAX_REGRESSION=10 set, but no main baseline to diff — regression gate skipped.
The Δ vs base ball above is a fixed ±5-pt display band; the regression gate uses BENCH_MAX_REGRESSION. The ball is cosmetic — the gate threshold is what blocks.
Caveats & exclusions
- 🧰 Excluded (harness_error, not scored) — 10: 10× isolation_unavailable. Cells:
async-word-counter/bare,auth-notes/demo,cognito-profile/auth-cognito,collab-presence-board/default,email-digest/demo,file-gallery/bare,kb-chat-agent/demo,observability-api/backend,oidc-dsql-notes/react,sql-kb-catalog/nextjs
Review fixes for #896 (fix(core): make sandbox:destroy work on Windows). Stacked on
belaboe/fix-windows-sandbox-destroy; merging this PR folds the fixes into #896. It merges cleanly with currentmain(no rebase needed).What it adds:
cdk lsargv move intobuildSandboxDestroyArgs/buildSandboxLsArgs. Their--appvalue is asserted with literals for cmd.exe (double quotes) and POSIX (single quotes,'\''escaping), so a revert to'${backendPath}'fails a unit test on a Linux runner. (review comment r4359557460)buildSandboxSynthArgs/buildSandboxDeployArgstake an optionalplatform, and their Windows and POSIX--appforms are asserted the same way.sandbox-stack-listing.test.tsreplaces run-command in a child process and asserts that bothcdk lslisters userunCapture(npm/npx) and both destroys userunSyncwith--conditions=cdk. The fixture path contains a single quote, so re-inlining the old argv at a call site also fails.listSandboxStackNamesandlistProductionStackNamesare exported as@internalfor this;scripts/index.tsand the package export map are unchanged.quoteCdkAppPathrefuses a"on Windows (suggestion applied, with a test, a@throwsnote and a changeset line). (r4359557500)runCapture's signal branch (suggestion applied). (r4359557531)Each new test was checked against a mutation of the line it guards (10 mutations, all red; all green on this head).
Not in this PR:
--appquoting (r4359557482): fix(core): deploy, destroy and watch every top-level stack of a multi-stack app #968 replaces the inline watch argv withbuildSandboxWatchArgs, and the quoting plus its--appassertion are being added there. When fix(core): make sandbox:destroy work on Windows #896 is rebased over fix(core): deploy, destroy and watch every top-level stack of a multi-stack app #968, keep fix(core): deploy, destroy and watch every top-level stack of a multi-stack app #968's builder withquoteCdkAppPath(backendPath).Windows proof: Windows E2E run 39972013006 on this head (result in a comment once it finishes). The scheduled job's status is not trustworthy for destroy until #946 lands, so the destroy logs were read directly.
PR Checks do not run for this PR because its base branch name contains
/(pull_request: branches: ['*']). Local lanes (build, lint:deps, unit tests, e2e local, lint, check:api) were run on this head.