这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@anthonyshew
Copy link
Contributor

Description

Seeing if we can cache dependencies for our integration test fixtures. Since we have to operate against real repos for these, we install their dependencies. But it looks like we were doing the dependency installation from scratch every time. Now, we just do it once and bring them back from disk.

Testing Instructions

CI

@anthonyshew anthonyshew requested a review from a team as a code owner November 7, 2025 22:18
@anthonyshew anthonyshew requested a review from tknickman November 7, 2025 22:18
@vercel
Copy link
Contributor

vercel bot commented Nov 7, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
examples-basic-web Ready Ready Preview Comment Nov 9, 2025 8:05pm
examples-designsystem-docs Ready Ready Preview Comment Nov 9, 2025 8:05pm
examples-gatsby-web Ready Ready Preview Comment Nov 9, 2025 8:05pm
examples-kitchensink-blog Ready Ready Preview Comment Nov 9, 2025 8:05pm
examples-nonmonorepo Ready Ready Preview Comment Nov 9, 2025 8:05pm
examples-svelte-web Ready Ready Preview Comment Nov 9, 2025 8:05pm
examples-tailwind-web Ready Ready Preview Comment Nov 9, 2025 8:05pm
examples-vite-web Ready Ready Preview Comment Nov 9, 2025 8:05pm
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
turbo-site Skipped Skipped Nov 9, 2025 8:05pm

"${TURBOREPO_TESTS_DIR}/helpers/setup_git.sh" "${TARGET_DIR}"
"${TURBOREPO_TESTS_DIR}/helpers/setup_package_manager.sh" "${TARGET_DIR}" "$PACKAGE_MANAGER"
if $INSTALL_DEPS; then
if $INSTALL_DEPS && [ ! -d "$FIXTURE_CACHE" ]; then
Copy link
Contributor

@vercel vercel bot Nov 7, 2025

Choose a reason for hiding this comment

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

Race condition: Multiple parallel test processes can simultaneously check for the fixture cache, find it doesn't exist, and both attempt to create and populate it, causing corruption or conflicts in the shared cache.

View Details
📝 Patch Details
diff --git a/turborepo-tests/helpers/setup_integration_test.sh b/turborepo-tests/helpers/setup_integration_test.sh
index 57e521964..331ecdc86 100755
--- a/turborepo-tests/helpers/setup_integration_test.sh
+++ b/turborepo-tests/helpers/setup_integration_test.sh
@@ -46,25 +46,68 @@ fi
 CACHE_BASE_DIR="${TMPDIR:-/tmp}/turbo-fixture-cache"
 CACHE_KEY="${FIXTURE_NAME}-${PACKAGE_MANAGER//\//_}" # Replace / with _ for filesystem safety
 FIXTURE_CACHE="${CACHE_BASE_DIR}/${CACHE_KEY}"
+FIXTURE_CACHE_LOCK="${CACHE_BASE_DIR}/.${CACHE_KEY}.lock"
 
 if $INSTALL_DEPS && [ ! -d "$FIXTURE_CACHE" ]; then
-  # First test using this fixture+package_manager combo: create cache
-  mkdir -p "$FIXTURE_CACHE"
+  # Use file locking to ensure only one process creates and populates the cache
+  # This prevents race conditions when tests run in parallel (e.g., pytest -n auto)
+  mkdir -p "$CACHE_BASE_DIR"
+  
+  # Check if flock is available for proper locking
+  if command -v flock &> /dev/null; then
+    # Open lock file (create if doesn't exist)
+    exec 200>"$FIXTURE_CACHE_LOCK"
+    
+    # Acquire exclusive lock (wait if another process has it)
+    flock -x 200
+  else
+    # Fallback: use mkdir for atomic lock (less efficient but works on all systems)
+    # mkdir is atomic and will fail if directory already exists
+    lock_acquired=false
+    for attempt in {1..30}; do
+      if mkdir "$FIXTURE_CACHE_LOCK" 2>/dev/null; then
+        lock_acquired=true
+        break
+      fi
+      sleep 0.1
+    done
+    if [ "$lock_acquired" = false ]; then
+      # Couldn't acquire lock after timeout, but cache might exist now
+      if [ -d "$FIXTURE_CACHE" ]; then
+        exit 0
+      fi
+      echo "Error: Could not acquire fixture cache lock after timeout" >&2
+      exit 1
+    fi
+  fi
+  
+  # Double-check: another process might have created the cache while we waited
+  if [ ! -d "$FIXTURE_CACHE" ]; then
+    # First test using this fixture+package_manager combo: create cache
+    mkdir -p "$FIXTURE_CACHE"
 
-  # Copy fixture to cache location
-  "${TURBOREPO_TESTS_DIR}/helpers/copy_fixture.sh" "${FIXTURE_CACHE}" "${FIXTURE_NAME}" "${TURBOREPO_TESTS_DIR}/integration/fixtures"
+    # Copy fixture to cache location
+    "${TURBOREPO_TESTS_DIR}/helpers/copy_fixture.sh" "${FIXTURE_CACHE}" "${FIXTURE_NAME}" "${TURBOREPO_TESTS_DIR}/integration/fixtures"
 
-  # Setup git in cache (needed for install_deps.sh to commit)
-  "${TURBOREPO_TESTS_DIR}/helpers/setup_git.sh" "${FIXTURE_CACHE}"
+    # Setup git in cache (needed for install_deps.sh to commit)
+    "${TURBOREPO_TESTS_DIR}/helpers/setup_git.sh" "${FIXTURE_CACHE}"
 
-  # Setup package manager and install deps in cache
-  "${TURBOREPO_TESTS_DIR}/helpers/setup_package_manager.sh" "${FIXTURE_CACHE}" "$PACKAGE_MANAGER"
-  cd "${FIXTURE_CACHE}"
-  "${TURBOREPO_TESTS_DIR}/helpers/install_deps.sh" "$PACKAGE_MANAGER"
-  cd - > /dev/null
+    # Setup package manager and install deps in cache
+    "${TURBOREPO_TESTS_DIR}/helpers/setup_package_manager.sh" "${FIXTURE_CACHE}" "$PACKAGE_MANAGER"
+    cd "${FIXTURE_CACHE}"
+    "${TURBOREPO_TESTS_DIR}/helpers/install_deps.sh" "$PACKAGE_MANAGER"
+    cd - > /dev/null
 
-  # Remove .git from cache since each test needs its own git repo
-  rm -rf "${FIXTURE_CACHE}/.git"
+    # Remove .git from cache since each test needs its own git repo
+    rm -rf "${FIXTURE_CACHE}/.git"
+  fi
+  
+  # Release lock
+  if command -v flock &> /dev/null; then
+    flock -u 200
+  else
+    rmdir "$FIXTURE_CACHE_LOCK" 2>/dev/null || true
+  fi
 fi
 
 if $INSTALL_DEPS && [ -d "$FIXTURE_CACHE" ]; then

Analysis

Race condition in fixture cache creation during parallel test execution

What fails: When multiple test processes run in parallel (using pytest -n auto or similar), they can simultaneously check if the shared fixture cache exists, both find it missing, and proceed to create and populate it concurrently. This causes file conflicts during cache setup and corrupts the shared node_modules cache.

How to reproduce:

cd turborepo-tests/integration
npm run pretest:parallel
npm run test:parallel

With timing conditions, multiple concurrent tests will detect the same fixture cache (/tmp/turbo-fixture-cache/basic_monorepo-npm@10.5.0) doesn't exist and attempt simultaneous:

  • mkdir -p and copy_fixture.sh operations on the same directory
  • Concurrent npm install in the same cache directory

Result: Incomplete or corrupted node_modules, failed dependency installations, and test failures that are difficult to reproduce (timing-dependent).

Expected behavior: Only the first process should create and populate the cache; others should wait for it to complete before using it.

Solution implemented: Added file-level locking using:

  • flock when available (Linux/systems with util-linux)
  • Atomic mkdir for lock directory when flock is unavailable (macOS compatibility)

This ensures only one process at a time creates and populates each shared fixture cache.

@anthonyshew anthonyshew changed the title ci: Share an npm cache for fixtures ci: don't install dependencies in tests that don't need it Nov 8, 2025
@anthonyshew anthonyshew changed the title ci: don't install dependencies in tests that don't need it ci: Don't install dependencies in tests that don't need it Nov 8, 2025
@anthonyshew anthonyshew merged commit 0ca8605 into main Nov 9, 2025
94 of 98 checks passed
@anthonyshew anthonyshew deleted the shew/db6bd branch November 9, 2025 20:27
@anthonyshew
Copy link
Contributor Author

There may be more - but this is helpful in its own right. Feel free to search for more of these!

ch4og pushed a commit to csmplay/csm-mapban that referenced this pull request Nov 18, 2025
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [turbo](https://turborepo.com) ([source](https://github.com/vercel/turborepo)) | [`2.5.6` -> `2.6.1`](https://renovatebot.com/diffs/npm/turbo/2.5.6/2.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/turbo/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/turbo/2.5.6/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>vercel/turborepo (turbo)</summary>

### [`v2.6.1`](https://github.com/vercel/turborepo/releases/tag/v2.6.1): Turborepo v2.6.1

[Compare Source](vercel/turborepo@v2.6.0...v2.6.1)

<!-- Release notes generated using configuration in .github/release.yml at v2.6.1 -->

#### What's Changed

##### Docs

- docs: 2.6 release blog post by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11003](vercel/turborepo#11003)
- docs: update typo'd link by [@&#8203;lishaduck](https://github.com/lishaduck) in [#&#8203;11032](vercel/turborepo#11032)
- chore(with-docker/Dockerfile): Some improvements by [@&#8203;yairopro](https://github.com/yairopro) in [#&#8203;11010](vercel/turborepo#11010)
- docs: Fix grammatical mistake on structuring-a-repository.mdx by [@&#8203;Andrew-Pynch](https://github.com/Andrew-Pynch) in [#&#8203;11091](vercel/turborepo#11091)
- feat: Cross-platform microfrontends port command by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11098](vercel/turborepo#11098)

##### [@&#8203;turbo/codemod](https://github.com/turbo/codemod)

- ci: Fix flake in JS tests by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11067](vercel/turborepo#11067)

##### [@&#8203;turbo/repository](https://github.com/turbo/repository)

- chore: Update to Rust 1.91.0 by [@&#8203;ognevny](https://github.com/ognevny) in [#&#8203;10885](vercel/turborepo#10885)

##### Examples

- examples(deps-dev): bump [@&#8203;types/node](https://github.com/types/node) from 18.17.4 to 24.10.0 in /examples/non-monorepo by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11037](vercel/turborepo#11037)
- examples(deps-dev): bump the kitchen-sink group in /examples/kitchen-sink with 9 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11043](vercel/turborepo#11043)
- examples: Remove redundant border declaration by [@&#8203;Yeom-JinHo](https://github.com/Yeom-JinHo) in [#&#8203;11042](vercel/turborepo#11042)
- examples(deps-dev): bump turbo from 2.5.6 to 2.6.0 in /examples/with-shell-commands in the with-shell-commands group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11039](vercel/turborepo#11039)
- examples(deps-dev): bump the with-svelte group in /examples/with-svelte with 7 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11041](vercel/turborepo#11041)
- examples(deps): bump the basic group in /examples/basic with 9 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11040](vercel/turborepo#11040)
- examples(deps-dev): bump the with-tailwind group in /examples/with-tailwind with 6 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11038](vercel/turborepo#11038)
- examples(deps): bump next from 16.0.0 to 16.0.1 in /examples/non-monorepo by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11051](vercel/turborepo#11051)
- examples(deps): bump next from 16.0.0 to 16.0.1 in /examples/basic by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11082](vercel/turborepo#11082)
- examples(deps): bump next from 16.0.0 to 16.0.1 in /examples/with-tailwind by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11083](vercel/turborepo#11083)
- examples(dev-deps): bump eslint-config-next from 16.0.0 to 16.0.1 in /examples/non-monorepo by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11086](vercel/turborepo#11086)
- examples(fix): Gradient in `with-tailwind` by [@&#8203;mahi656](https://github.com/mahi656) in [#&#8203;11073](vercel/turborepo#11073)
- examples(dev-deps): bump svelte from 5.43.3 to 5.43.5 in /examples/with-svelte by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11087](vercel/turborepo#11087)
- examples(deps): bump next from 16.0.0 to 16.0.1 in /examples/kitchen-sink by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;11088](vercel/turborepo#11088)

##### Changelog

- fix: Improve parity with real Bun lockfile format for `prune` by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11048](vercel/turborepo#11048)
- fix: add some Linux variables to default passthrough env vars by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10959](vercel/turborepo#10959)
- fix: Labels for k + j backwards in binds list by [@&#8203;ethan-fraser](https://github.com/ethan-fraser) in [#&#8203;11036](vercel/turborepo#11036)
- fix(prune): Add bunfig.toml to list of copied files by [@&#8203;Gabrola](https://github.com/Gabrola) in [#&#8203;11055](vercel/turborepo#11055)
- fix(prune): Handle `patchedDependencies` for bun by [@&#8203;Gabrola](https://github.com/Gabrola) in [#&#8203;11027](vercel/turborepo#11027)
- fix(boundaries): Enable import attributes parsing by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11053](vercel/turborepo#11053)
- fix: Improve determinism for graceful shutdown by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11063](vercel/turborepo#11063)
- ci: Lower opt-level and remove debug symbols for dev profile by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11068](vercel/turborepo#11068)
- ci: Avoid flaking for test server mock by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11066](vercel/turborepo#11066)
- ci: Don't install dependencies in tests that don't need it by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11071](vercel/turborepo#11071)
- fix: Revert "fix(logs): create log files for non-cached tasks" by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11072](vercel/turborepo#11072)
- ci: Fix leaky tests by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11081](vercel/turborepo#11081)
- fix: Bun lockfile pruner adjustment by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11092](vercel/turborepo#11092)
- fix: Improve version resolution in Bun lockfiles by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11095](vercel/turborepo#11095)
- feat: Move icon to left side in TUI by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11097](vercel/turborepo#11097)

#### New Contributors

- [@&#8203;lishaduck](https://github.com/lishaduck) made their first contribution in [#&#8203;11032](vercel/turborepo#11032)
- [@&#8203;Yeom-JinHo](https://github.com/Yeom-JinHo) made their first contribution in [#&#8203;11042](vercel/turborepo#11042)
- [@&#8203;ethan-fraser](https://github.com/ethan-fraser) made their first contribution in [#&#8203;11036](vercel/turborepo#11036)
- [@&#8203;yairopro](https://github.com/yairopro) made their first contribution in [#&#8203;11010](vercel/turborepo#11010)
- [@&#8203;Gabrola](https://github.com/Gabrola) made their first contribution in [#&#8203;11055](vercel/turborepo#11055)
- [@&#8203;mahi656](https://github.com/mahi656) made their first contribution in [#&#8203;11073](vercel/turborepo#11073)
- [@&#8203;Andrew-Pynch](https://github.com/Andrew-Pynch) made their first contribution in [#&#8203;11091](vercel/turborepo#11091)

**Full Changelog**: <vercel/turborepo@v2.6.0...v2.6.1>

### [`v2.6.0`](https://github.com/vercel/turborepo/releases/tag/v2.6.0): Turborepo v2.6.0

[Compare Source](vercel/turborepo@v2.5.8...v2.6.0)

<!-- Release notes generated using configuration in .github/release.yml at v2.6.0 -->

#### What's Changed

##### Docs

- docs: clarification on Transit Nodes docs by [@&#8203;maschwenk](https://github.com/maschwenk) in [#&#8203;9181](vercel/turborepo#9181)
- docs: add GitHub Actions reusable workflow documentation for remote caching by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10923](vercel/turborepo#10923)
- docs: generate blog release OG images by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10936](vercel/turborepo#10936)
- docs: fix correct package name from eslint-config-turbo to eslint-plugin-turbo by [@&#8203;tetzng](https://github.com/tetzng) in [#&#8203;10954](vercel/turborepo#10954)
- docs: align tailwindcss 4 guide to the with-tailwind example  by [@&#8203;esauri](https://github.com/esauri) in [#&#8203;10963](vercel/turborepo#10963)
- docs: fix typos and formatting issues in Playwright guide by [@&#8203;yamcodes](https://github.com/yamcodes) in [#&#8203;10980](vercel/turborepo#10980)
- docs: adjust compute hours saved component initial value by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10958](vercel/turborepo#10958)
- docs: clarify passthrough args comparison by [@&#8203;emilbjorklund](https://github.com/emilbjorklund) in [#&#8203;10990](vercel/turborepo#10990)
- docs: fix profile images on home page by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10993](vercel/turborepo#10993)
- feat: microfrontends by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10982](vercel/turborepo#10982)
- docs: Clarify passtrhough args cache miss by [@&#8203;eug-vs](https://github.com/eug-vs) in [#&#8203;11026](vercel/turborepo#11026)
- fix: path validation in `microfrontends.json` by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11006](vercel/turborepo#11006)
- feat(microfrontends): schema.json for microfrontends.json by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11008](vercel/turborepo#11008)

##### create-turbo

- feat: update `create-turbo` Bun prompt text by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10918](vercel/turborepo#10918)

##### eslint

- fix(eslint-config-turbo): use module.exports for ESLint v8 compatibility by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10902](vercel/turborepo#10902)
- perf: \~8.6x faster ESLint rule by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10943](vercel/turborepo#10943)

##### Examples

- Update package.json by [@&#8203;Satheeshsk369](https://github.com/Satheeshsk369) in [#&#8203;10892](vercel/turborepo#10892)
- docs: fix JSDoc type for ESLint config in basic example by [@&#8203;victor-code19](https://github.com/victor-code19) in [#&#8203;10727](vercel/turborepo#10727)
- refactor(examples): enhance `with-nestjs` ([#&#8203;8131](vercel/turborepo#8131)) by [@&#8203;Neosoulink](https://github.com/Neosoulink) in [#&#8203;10964](vercel/turborepo#10964)
- examples: Upgrade core-team-maintained examples to Next.js 16 by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11014](vercel/turborepo#11014)

##### Changelog

- chore: remove missing turbow\.js references by [@&#8203;pauloZion1](https://github.com/pauloZion1) in [#&#8203;10893](vercel/turborepo#10893)
- fix(turborepo-lockfiles): handle missing optional dependencies in Bun lockfiles by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10909](vercel/turborepo#10909)
- fix: update `ui` suggested value in error message for turbo.json by [@&#8203;hugomassing](https://github.com/hugomassing) in [#&#8203;10896](vercel/turborepo#10896)
- chore: remove unused `origin` field from auth structs by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10910](vercel/turborepo#10910)
- feat: new OAuth flow for Turborepo CLI with Vercel by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10911](vercel/turborepo#10911)
- fix(lockfiles): include bundled dependencies in Bun lockfile subgraphs by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10915](vercel/turborepo#10915)
- test: increase coverage for lockfiles by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10633](vercel/turborepo#10633)
- fix: update remote cache OAuth refresh flow by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10916](vercel/turborepo#10916)
- feat(tui): task list search with `/` by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10908](vercel/turborepo#10908)
- fix: --graph=foo.dot should not require graphviz installed by [@&#8203;blast-hardcheese](https://github.com/blast-hardcheese) in [#&#8203;10942](vercel/turborepo#10942)
- chore: update devcontainer configuration by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10955](vercel/turborepo#10955)
- fix: `injectWorkspacePackages` for `turbo prune` with pnpm by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10945](vercel/turborepo#10945)
- fix: adjust binary call for microfrontends proxy on Windows by [@&#8203;mknichel](https://github.com/mknichel) in [#&#8203;10962](vercel/turborepo#10962)
- Add worktrees.json configuration to .cursor directory by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;10986](vercel/turborepo#10986)
- fix: windows symlinking bug by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10992](vercel/turborepo#10992)
- fix: added Linux env vars to global passthroughs by [@&#8203;aviramha](https://github.com/aviramha) in [#&#8203;10984](vercel/turborepo#10984)
- fix: recursive transitive closure analysis in npm lockfile parser by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10988](vercel/turborepo#10988)
- ci(fix): dynamically set ports in proxy integration tests by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;11009](vercel/turborepo#11009)
- feat: Add support for custom microfrontends.json naming by [@&#8203;kitfoster](https://github.com/kitfoster) in [#&#8203;11022](vercel/turborepo#11022)

#### New Contributors

- [@&#8203;Satheeshsk369](https://github.com/Satheeshsk369) made their first contribution in [#&#8203;10892](vercel/turborepo#10892)
- [@&#8203;robobun](https://github.com/robobun) made their first contribution in [#&#8203;10729](vercel/turborepo#10729)
- [@&#8203;hugomassing](https://github.com/hugomassing) made their first contribution in [#&#8203;10896](vercel/turborepo#10896)
- [@&#8203;victor-code19](https://github.com/victor-code19) made their first contribution in [#&#8203;10727](vercel/turborepo#10727)
- [@&#8203;blast-hardcheese](https://github.com/blast-hardcheese) made their first contribution in [#&#8203;10942](vercel/turborepo#10942)
- [@&#8203;tetzng](https://github.com/tetzng) made their first contribution in [#&#8203;10954](vercel/turborepo#10954)
- [@&#8203;esauri](https://github.com/esauri) made their first contribution in [#&#8203;10963](vercel/turborepo#10963)
- [@&#8203;Copilot](https://github.com/Copilot) made their first contribution in [#&#8203;10986](vercel/turborepo#10986)
- [@&#8203;emilbjorklund](https://github.com/emilbjorklund) made their first contribution in [#&#8203;10990](vercel/turborepo#10990)
- [@&#8203;aviramha](https://github.com/aviramha) made their first contribution in [#&#8203;10984](vercel/turborepo#10984)
- [@&#8203;eug-vs](https://github.com/eug-vs) made their first contribution in [#&#8203;11026](vercel/turborepo#11026)
- [@&#8203;kitfoster](https://github.com/kitfoster) made their first contribution in [#&#8203;11022](vercel/turborepo#11022)

**Full Changelog**: <vercel/turborepo@v2.5.8...v2.6.0>

### [`v2.5.8`](https://github.com/vercel/turborepo/releases/tag/v2.5.8): Turborepo v2.5.8

[Compare Source](vercel/turborepo@v2.5.7...v2.5.8)

<!-- Release notes generated using configuration in .github/release.yml at v2.5.8 -->

#### What's Changed

##### create-turbo

- fix: revert [#&#8203;10847](vercel/turborepo#10847) by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10882](vercel/turborepo#10882)

##### Changelog

- chore: add Cursor slash command by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10881](vercel/turborepo#10881)

**Full Changelog**: <vercel/turborepo@v2.5.7...v2.5.8>

### [`v2.5.7`](https://github.com/vercel/turborepo/releases/tag/v2.5.7): Turborepo v2.5.7

[Compare Source](vercel/turborepo@v2.5.6...v2.5.7)

<!-- Release notes generated using configuration in .github/release.yml at v2.5.7 -->

#### What's Changed

##### Docs

- docs: add `TURBO_CONCURRENCY` to options overview page by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10772](vercel/turborepo#10772)
- fix(docs): fix broken anchor links to --graph option by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10773](vercel/turborepo#10773)
- docs: clarify TURBO\_TEAM secret usage by [@&#8203;vikhyathdevadiga](https://github.com/vikhyathdevadiga) in [#&#8203;10795](vercel/turborepo#10795)
- docs: add Buildkite example to CI Vendors documentation by [@&#8203;AndrewDiMola](https://github.com/AndrewDiMola) in [#&#8203;10721](vercel/turborepo#10721)
- docs: rework llms.txt and add .md responses by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10811](vercel/turborepo#10811)
- docs: add `name` field mention to migration page by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10823](vercel/turborepo#10823)
- docs: update configuration reference to use correct turbo.json title by [@&#8203;xcfio](https://github.com/xcfio) in [#&#8203;10843](vercel/turborepo#10843)
- docs: correct description of how `^` works by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10865](vercel/turborepo#10865)

##### create-turbo

- feat(create-turbo): `--no-git` flag by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10720](vercel/turborepo#10720)
- chore(create-turbo): fix lint by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [#&#8203;10807](vercel/turborepo#10807)
- fix(security): update dependencies to resolve warning for `node-plop` by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10847](vercel/turborepo#10847)

##### eslint

- docs: adjust typo on instructions for eslint-config-turbo legacy config by [@&#8203;evsasse](https://github.com/evsasse) in [#&#8203;10717](vercel/turborepo#10717)

##### [@&#8203;turbo/repository](https://github.com/turbo/repository)

- chore: reformat code with 2024 edition by [@&#8203;ognevny](https://github.com/ognevny) in [#&#8203;10775](vercel/turborepo#10775)

##### Examples

- chore(deps-dev): bump the with-svelte group in /examples/with-svelte with 6 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10752](vercel/turborepo#10752)
- chore(deps-dev): bump turbo from 2.5.5 to 2.5.6 in /examples/with-shell-commands by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10781](vercel/turborepo#10781)
- chore(deps-dev): bump [@&#8203;sveltejs/kit](https://github.com/sveltejs/kit) from 2.27.3 to 2.31.1 in /examples/with-svelte in the with-svelte group by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10780](vercel/turborepo#10780)
- chore(deps-dev): bump [@&#8203;next/eslint-plugin-next](https://github.com/next/eslint-plugin-next) from 15.4.2 to 15.4.6 in /examples/with-tailwind by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10779](vercel/turborepo#10779)
- chore(deps-dev): bump [@&#8203;next/eslint-plugin-next](https://github.com/next/eslint-plugin-next) from 15.4.2 to 15.4.6 in /examples/basic by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10776](vercel/turborepo#10776)
- chore(deps): bump next from 15.4.2 to 15.4.6 in /examples/non-monorepo by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10778](vercel/turborepo#10778)
- chore(deps-dev): bump the with-svelte group in /examples/with-svelte with 3 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10787](vercel/turborepo#10787)
- chore(deps): bump the basic group in /examples/basic with 3 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10788](vercel/turborepo#10788)
- fix: add types node to fix minimatch issue by [@&#8203;oliveirabalsa](https://github.com/oliveirabalsa) in [#&#8203;10730](vercel/turborepo#10730)
- chore(deps-dev): bump the basic group in /examples/basic with 2 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10797](vercel/turborepo#10797)
- chore(deps-dev): bump the with-svelte group in /examples/with-svelte with 2 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10800](vercel/turborepo#10800)

##### Changelog

- feat(turbo\_json): add `$TURBO_EXTENDS$` by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [#&#8203;10763](vercel/turborepo#10763)
- chore(deps): bump the kitchen-sink group in /examples/kitchen-sink with 10 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;10758](vercel/turborepo#10758)
- chore: fix lints by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [#&#8203;10786](vercel/turborepo#10786)
- docs: add top level crate documentation by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [#&#8203;10801](vercel/turborepo#10801)
- docs: add more doc comments for working with the lockfile trait by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [#&#8203;10802](vercel/turborepo#10802)
- fix(logs): create log files for non-cached tasks by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [#&#8203;10806](vercel/turborepo#10806)
- ci: add packaging checks for some JS packages by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10810](vercel/turborepo#10810)
- docs: fix typos by [@&#8203;pauloZion1](https://github.com/pauloZion1) in [#&#8203;10821](vercel/turborepo#10821)
- feat(turbo\_json): allow for extending form non-root `turbo.json` by [@&#8203;chris-olszewski](https://github.com/chris-olszewski) in [#&#8203;10812](vercel/turborepo#10812)
- feat(tui): add shortcut for clearing task logs by [@&#8203;mcky](https://github.com/mcky) in [#&#8203;10828](vercel/turborepo#10828)
- chore: mention other package managers in bug report template by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10849](vercel/turborepo#10849)
- feat: add Expo to common frameworks by [@&#8203;Alvi24](https://github.com/Alvi24) in [#&#8203;10861](vercel/turborepo#10861)
- chore: remove label from workflows by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10864](vercel/turborepo#10864)
- fix: add WINDIR to default passthroughs by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10868](vercel/turborepo#10868)
- fix: output valid turbo.json for prune with Boundaries definition by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10866](vercel/turborepo#10866)
- fix: sanitize logging prefix for GitLab groups by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;10850](vercel/turborepo#10850)

#### New Contributors

- [@&#8203;oliveirabalsa](https://github.com/oliveirabalsa) made their first contribution in [#&#8203;10730](vercel/turborepo#10730)
- [@&#8203;vikhyathdevadiga](https://github.com/vikhyathdevadiga) made their first contribution in [#&#8203;10795](vercel/turborepo#10795)
- [@&#8203;AndrewDiMola](https://github.com/AndrewDiMola) made their first contribution in [#&#8203;10721](vercel/turborepo#10721)
- [@&#8203;pauloZion1](https://github.com/pauloZion1) made their first contribution in [#&#8203;10821](vercel/turborepo#10821)
- [@&#8203;mcky](https://github.com/mcky) made their first contribution in [#&#8203;10828](vercel/turborepo#10828)
- [@&#8203;xcfio](https://github.com/xcfio) made their first contribution in [#&#8203;10843](vercel/turborepo#10843)
- [@&#8203;evsasse](https://github.com/evsasse) made their first contribution in [#&#8203;10717](vercel/turborepo#10717)
- [@&#8203;Alvi24](https://github.com/Alvi24) made their first contribution in [#&#8203;10861](vercel/turborepo#10861)

**Full Changelog**: <vercel/turborepo@v2.5.6...v2.5.7>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDguNCIsInVwZGF0ZWRJblZlciI6IjQyLjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.in.csmpro.ru/csmpro/csm-mapban/pulls/30
Co-authored-by: Renovate Bot <renovate@csmpro.ru>
Co-committed-by: Renovate Bot <renovate@csmpro.ru>
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.

2 participants