Skip to content

Sanity tests perf improvements#296248

Merged
dmitrivMS merged 19 commits intomainfrom
dev/dmitriv/sanity-tests-perf
Feb 22, 2026
Merged

Sanity tests perf improvements#296248
dmitrivMS merged 19 commits intomainfrom
dev/dmitriv/sanity-tests-perf

Conversation

@dmitrivMS
Copy link
Copy Markdown
Contributor

@dmitrivMS dmitrivMS commented Feb 19, 2026

Changes
Reduced time taken by Windows ARM64 job:

  • Used custom Node.js install step to ensure matching architecture
  • Removed/reduced powershell calls
  • Use curl for downloads

Note
Addressed some PR feedback from previous changes.
Removed 64k page test.

Validation
With these changes all sanity tests run in ~10 minutes.

@dmitrivMS dmitrivMS added this to the February 2026 milestone Feb 19, 2026
@dmitrivMS dmitrivMS self-assigned this Feb 19, 2026
Copilot AI review requested due to automatic review settings February 19, 2026 10:11
@dmitrivMS dmitrivMS added the engineering VS Code - Build / issue tracking / etc. label Feb 19, 2026
@vs-code-engineering
Copy link
Copy Markdown
Contributor

vs-code-engineering bot commented Feb 19, 2026

📬 CODENOTIFY

The following users are being notified based on files changed in this PR:

@lszomoru

Matched files:

  • build/azure-pipelines/common/sanity-tests.yml
  • build/azure-pipelines/product-sanity-tests.yml

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR implements performance improvements for sanity tests, particularly for the Windows ARM64 job. The changes focus on reducing PowerShell invocations, using native tools for better performance, and improving the Node.js installation process for ARM64 Windows builds.

Changes:

  • Replaced Node.js fetch-based downloads with curl for better performance and built-in retry logic
  • Batched Authenticode signature validations into single PowerShell calls instead of per-file invocations
  • Added custom Node.js installation for Windows ARM64 to ensure correct architecture matching
  • Improved WSL detection to verify actual usability, not just file existence
  • Fixed GitHub OAuth flow to explicitly handle popup pages
  • Used native fs.realpathSync for Windows path expansion instead of PowerShell

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
test/sanity/src/githubAuth.ts Fixed regex to use global flag for removing hyphens; updated authorize flow to receive popup page directly instead of waiting for it internally; improved JSDoc comments
test/sanity/src/detectors.ts Enhanced WSL detection by verifying the command actually works and has distributions installed, not just checking if wsl.exe exists
test/sanity/src/context.ts Replaced PowerShell call with native fs.realpathSync for path expansion; replaced fetch/stream download with curl for better performance; batched Authenticode signature validation into single PowerShell call
test/sanity/src/cli.test.ts Updated to track browser instance separately; properly await popup before passing to authorize flow; improved error handling for missing browser
build/azure-pipelines/product-sanity-tests.yml Added arch parameter for Windows ARM64 job configuration
build/azure-pipelines/common/sanity-tests.yml Added custom Node.js installation script for Windows ARM64 using curl and tar, falling back to standard NodeTool task for other platforms

Comment thread test/sanity/src/context.ts Outdated
Comment thread test/sanity/src/detectors.ts
Comment thread test/sanity/src/context.ts
Comment thread test/sanity/src/context.ts
Comment thread build/azure-pipelines/common/sanity-tests.yml
Comment thread build/azure-pipelines/common/sanity-tests.yml Outdated
hediet
hediet previously approved these changes Feb 19, 2026
bpasero
bpasero previously approved these changes Feb 19, 2026
@dmitrivMS dmitrivMS enabled auto-merge (squash) February 20, 2026 06:37
@dmitrivMS dmitrivMS merged commit ee401a1 into main Feb 22, 2026
29 of 30 checks passed
@dmitrivMS dmitrivMS deleted the dev/dmitriv/sanity-tests-perf branch February 22, 2026 16:55
@vs-code-engineering vs-code-engineering bot locked and limited conversation to collaborators Apr 8, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

engineering VS Code - Build / issue tracking / etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants