Skip to content

Retry test VS Code acquisition and propagate failures - #14752

Merged
Sean McManus (sean-mcmanus) merged 4 commits into
mainfrom
seanmcm/devbox2-wsl/agent63/vscode-acquisition-retries
Sep 9, 2026
Merged

Retry test VS Code acquisition and propagate failures#14752
Sean McManus (sean-mcmanus) merged 4 commits into
mainfrom
seanmcm/devbox2-wsl/agent63/vscode-acquisition-retries

Conversation

@sean-mcmanus

@sean-mcmanus Sean McManus (sean-mcmanus) commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Retry transient test VS Code acquisition failures with bounded backoff, and make terminal installation failures fail the acquisition command instead of surfacing later as missing native binaries. This is an independent follow-up to the failed Linux acquisition job observed during #14751; the retry passed on unchanged source.

This PR was investigated and created by GitHub Copilot (in VS Code). Any message starting with ✨Copilot: was sent by Copilot.

Changes

  • Retry raw transient network failures, including aggregate connection errors and test-electron request timeouts, up to three attempts with 1-second and 2-second backoffs.
  • Preserve the pinned VS Code version, cache location, platform selection, and the library's existing archive retries. Its terminal archive-download error is not retried again.
  • Propagate installation failures through the existing script error handler so the CLI exits nonzero without installing the extension or copying binaries.
  • Add a script-owned regression suite and run it before native-binary acquisition in the reusable CI workflow.
  • Normalize the touched workflow to consistent CRLF line endings, correcting its pre-existing mixed LF/CRLF formatting.

Validation

  • yarn test-vscode-acquisition: 21 tests passed, including actual CLI entry-point tests with mocked HTTPS failures and delays.
  • Targeted ESLint: passed.
  • Workflow YAML, acquisition-step ordering, unchanged parsed YAML after line-ending normalization, and CRLF-aware whitespace checks: passed.
  • Strict script-project typecheck: five pre-existing diagnostics remain, compared with seven on main; no new diagnostics introduced. Full platform integration tests will run in CI.

Known CI Failure

The Windows language-server integration job failed while deleting its temporary directory (EBUSY). The acquisition tests and native-binary acquisition passed. The cleanup fix is tracked separately in #14756.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The bounded retry behavior and failure propagation are narrowly scoped and comprehensively tested.

Pull request overview

Adds bounded retries for transient VS Code acquisition failures and ensures terminal failures exit nonzero.

Changes:

  • Retries transient network failures with exponential backoff.
  • Propagates installation failures to the CLI error handler.
  • Adds acquisition regression tests to CI.
File summaries
File Description
Extension/package.json Registers the acquisition test script.
Extension/.scripts/vscode.ts Implements retries and failure propagation.
Extension/.scripts/vscode.test.mjs Tests retry and CLI failure behavior.
Extension/.scripts/installAndCopyBinaries.ts Removes obsolete undefined-result handling.
.github/workflows/job-compile-and-test.yml Runs acquisition tests before binary acquisition.
Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sean-mcmanus
Sean McManus (sean-mcmanus) marked this pull request as ready for review September 9, 2026 15:17
@sean-mcmanus
Sean McManus (sean-mcmanus) requested a review from a team as a code owner September 9, 2026 15:17
@sean-mcmanus
Sean McManus (sean-mcmanus) merged commit 4121dd9 into main Sep 9, 2026
6 checks passed
@sean-mcmanus
Sean McManus (sean-mcmanus) deleted the seanmcm/devbox2-wsl/agent63/vscode-acquisition-retries branch September 9, 2026 19:04
@github-project-automation github-project-automation Bot moved this from Pull Request to Done in cpptools Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants