Repository navigation
Engineering - start the Windows chat-lib job from the workspace image - #347287
Merged
Ladislau Szomoru (lszomoru) merged 1 commit intoNov 10, 2026
Merged
Ladislau Szomoru (lszomoru) merged 1 commit into
Ladislau Szomoru (lszomoru) merged 1 commit into
Conversation
chat-lib - Test (Windows) moves from windows-2025 to the larger Windows runners, whose workspaces have the path of the workspace images, and mounts the image before the checkout like chat-lib - Test (Linux). Without an image, or on any error, it installs everything without the pnpm store cache, like the other jobs of pr.yml that use the images. It sets GODEBUG=winreadlinkvolume=1 like the other Windows jobs on an image. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues remain for the change extending workspace-image reuse to the Windows chat-lib PR job.
No open issues 🎉
What changed in this PR
Extends workspace-image reuse to the Windows chat-lib PR job, following the earlier migration of other dependency-installing jobs.
Changes:
- Moves the job to the compatible larger Windows runner and reuses shared image-restore steps.
- Preserves restored dependencies, enables Windows junction resolution, and disables pnpm store-cache restoration.
- Extends the guard test and updates documentation to include Windows chat-lib.
No actionable findings remain. Image-backed Windows execution was not tested locally and relies on the PR checks.
| File | Description |
|---|---|
build/lib/test/workspaceImage.test.ts |
Adds Windows chat-lib to the image-script consistency check. |
.github/workflows/workspace_image/README.md |
Removes Windows chat-lib from the image-adoption exceptions. |
.github/workflows/pr.yml |
Configures Windows chat-lib to restore and use workspace images. |
Review effort: Balanced
Ladislau Szomoru (lszomoru)
marked this pull request as ready for review
November 10, 2026 10:04
Ladislau Szomoru (lszomoru)
enabled auto-merge (squash)
November 10, 2026 10:04
Sandeep Somavarapu (sandy081)
approved these changes
Nov 10, 2026
Alexandru Dima (alexdima)
approved these changes
Nov 10, 2026
Ladislau Szomoru (lszomoru)
deleted the
lszomoru/agents/chat-lib-windows-workspace-image
branch
November 10, 2026 10:20
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.
Follow-up of #347275, for #345429:
chat-lib - Test (Windows)is the last job ofpr.ymlthat installs the workspace dependencies without starting from a workspace image, apart fromWindows / Electron-Smoke (WSL)on the 1ES pool.What changes
chat-lib - Test (Windows)moves fromwindows-2025tovscode-large-runners-windows-8-core. An image can only be used on the runners that build it, as it holds the workspace at the path of their workspaces.chat-lib - Test (Linux), the job reuses the download, Node.js and restore steps of Compile & Hygiene (YAML anchors), getsactions: readto find and download the image, and checks out withclean: falsewhen it mounted one.main, a pull request to a release branch, other native build inputs, or an error or timeout of the restore), it installs everything with a plainpnpm install, without the pnpm store cache, like the otherpr.ymljobs that use the images (restore-pnpm-store: 'false').GODEBUG=winreadlinkvolume=1, likeCopilot - Test (Windows)andpr-win32-test.yml, so that esbuild resolves pnpm's junctions on the image, which is mounted without a drive letter.workspaceImage.test.tschecks that the job downloads the image scripts like the jobs that build the images, and the workspace image README no longer lists it as an exception.Reviewers should know
windows-2025, most of it in theTest chat-libstep, which installs Copilot and chat-lib.Copilot - Test (Windows), which installs the same projects, restored the image in about 33 s and installed in about 7 s on the larger runner.chat-lib-package.ymlworkflow still uses the store cache, sopr-pnpm-store.ymlkeeps warmingpnpm-store-copilot-windows.How to test
This pull request's own checks run the job: its summary reports that it restored the image, or a
Workspace imagewarning when it installed everything instead.cd build && node --test lib/test/workspaceImage.test.ts lib/test/detectChanges.test.ts lib/test/detectMissingCaches.test.ts lib/test/agentHostTestSelection.test.ts: passed, 36 tests.cd build && pnpm run typecheck: passed../node_modules/.bin/eslint build/lib/test/workspaceImage.test.ts: passed.actionlint -shellcheck= .github/workflows/pr.yml(actionlint 1.7.12): passed, apart from the custom runner labels.🤖 Authored with GitHub Copilot on behalf of Ladislau Szomoru (@lszomoru).