Skip to content

Conversation

@Abe27342
Copy link
Contributor

@Abe27342 Abe27342 commented Sep 26, 2025

Description

Follow-up to #25535 which restores the caching of compat dependencies we previously had. Couldn't help myself from making a tweak so the cache key is invalidated on minor version change, which should give us better long-term behavior: the set of versions to install is dynamically computed based on roughly the current package version, so using major+minor here should be a net win as only roughly one build per release should need to install compat dependencies, after that they will be cached.

@Abe27342 Abe27342 requested a review from a team as a code owner September 26, 2025 17:55
Copilot AI review requested due to automatic review settings September 26, 2025 17:55
@github-actions github-actions bot added the area: build Build related issues label Sep 26, 2025
@Abe27342
Copy link
Contributor Author

ah forgot I based this on another change. Will check that in first.

@github-actions github-actions bot added the base: main PRs targeted against main branch label Sep 26, 2025
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 restores caching of compatibility version installations to the test pipeline and improves the caching mechanism with major+minor version-based cache keys. The changes consolidate dependency installation logic and switch from npm to pnpm across the pipeline templates.

Key changes:

  • Restored caching for compatibility version installs with improved cache key strategy
  • Standardized on pnpm instead of npm throughout pipeline templates
  • Consolidated dependency installation logic into reusable templates

Reviewed Changes

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

Show a summary per file
File Description
tools/pipelines/test-perf-benchmarks.yml Switches from npm to pnpm, removes workspace-related parameters, uses shared dependency template
tools/pipelines/templates/include-test-real-service.yml Restores compat version caching with dynamic path resolution and major+minor cache key
tools/pipelines/templates/include-test-perf-benchmarks.yml Removes workspace parameters, switches to pnpm, adds checkout step
tools/pipelines/templates/include-test-perf-benchmarks-install-package.yml Changes npm install to pnpm install
tools/pipelines/templates/include-setup-npmrc-for-download.yml Renames parameter from npmrcLocation to userNpmrcDirectory
tools/pipelines/templates/include-install.yml Adds primaryRegistry and userNpmrcPath parameters
tools/pipelines/templates/include-copy-dev-dependencies.yml New template consolidating devDependency copying logic
packages/test/test-end-to-end-tests/src/test/benchmark/.mocharc.*.cjs Updates require paths to use package names instead of node_modules paths
packages/dds//src/test//.mocharc.cjs Updates require paths to use package names instead of node_modules paths

@Abe27342 Abe27342 merged commit 6d309f2 into main Sep 26, 2025
30 checks passed
@Abe27342 Abe27342 deleted the test/absander/fix-caching branch September 26, 2025 18:19
anthony-murphy-agent pushed a commit to anthony-murphy-agent/FluidFramework that referenced this pull request Jan 14, 2026
…rosoft#25563)

## Description

Follow-up to microsoft#25535 which restores the caching of compat dependencies we
previously had. Couldn't help myself from making a tweak so the cache
key is invalidated on minor version change, which should give us better
long-term behavior: the set of versions to install is dynamically
computed based on roughly the current package version, so using
major+minor here should be a net win as only roughly one build per
release should need to install compat dependencies, after that they will
be cached.

---------

Co-authored-by: Abram Sanderson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build Build related issues base: main PRs targeted against main branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants