Merged
Conversation
Contributor
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: @lszomoruMatched files:
|
Contributor
There was a problem hiding this comment.
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 |
joaomoreno
reviewed
Feb 19, 2026
hediet
previously approved these changes
Feb 19, 2026
bpasero
previously approved these changes
Feb 19, 2026
…le on Windows ARM64
joaomoreno
approved these changes
Feb 22, 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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Changes
Reduced time taken by Windows ARM64 job:
Note
Addressed some PR feedback from previous changes.
Removed 64k page test.
Validation
With these changes all sanity tests run in ~10 minutes.