Skip to content

Conversation

@joaomoreno
Copy link
Member

from @tmm1:

this is significantly faster in my tests, down to 60s vs 120-180s before in the Extract node_modules phase
GHA and Azure Pipelines images have tar.exe and zstandard bundled since a few years ago
(will need to bump cachesalt if merging, to invalidate old cache)
cc @lszomoru @deepak1556

tmm1 and others added 7 commits August 6, 2025 09:38
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@vs-code-engineering vs-code-engineering bot added this to the January 2026 milestone Jan 29, 2026
Copy link
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 replaces 7-Zip compression with tar+zstd for Windows node_modules caching to significantly improve CI/CD performance. According to the PR description, this reduces the Extract node_modules phase from 120-180 seconds to 60 seconds. Both tar.exe and zstandard are bundled in GitHub Actions and Azure Pipelines Windows images, making this change feasible without additional tooling requirements.

Changes:

  • Replaced all 7z.exe commands with tar+zstd commands across GitHub Actions and Azure Pipelines workflows
  • Changed cache file extension from .7z to .tzst
  • Updated .cachesalt timestamp to invalidate existing caches

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/pr-win32-test.yml Updated extraction and creation commands to use tar+zstd instead of 7z
.github/workflows/pr-node-modules.yml Updated Windows job creation command to use tar+zstd instead of 7z
build/azure-pipelines/win32/steps/product-build-win32-compile.yml Updated extraction and creation commands to use tar+zstd instead of 7z
build/azure-pipelines/win32/product-build-win32-node-modules.yml Updated creation command to use tar+zstd instead of 7z
build/.cachesalt Bumped timestamp to invalidate old 7z-based caches

@lszomoru lszomoru merged commit 7052972 into main Jan 29, 2026
32 checks passed
@lszomoru lszomoru deleted the joao/turquoise-tahr branch January 29, 2026 20:16
@rzhao271
Copy link
Collaborator

This change broke CI for #291731. Reverting.

rzhao271 added a commit that referenced this pull request Jan 29, 2026
rzhao271 added a commit that referenced this pull request Jan 29, 2026
)

Revert "engineering: use tar+zstd for win32 node_modules cache (#291624)"

This reverts commit 7052972.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants