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

Conversation

@anthonyshew
Copy link
Contributor

@anthonyshew anthonyshew commented Nov 10, 2025

Description

Integration tests are our CI's bottleneck today. We should matrix these so that they can run in parallel.

This cuts our time from commit to mergeable by ~50%.

Testing Instructions

CI

CLOSES TURBO-890

@vercel
Copy link
Contributor

vercel bot commented Nov 10, 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 10, 2025 2:17pm
examples-designsystem-docs Ready Ready Preview Comment Nov 10, 2025 2:17pm
examples-gatsby-web Ready Ready Preview Comment Nov 10, 2025 2:17pm
examples-kitchensink-blog Ready Ready Preview Comment Nov 10, 2025 2:17pm
examples-nonmonorepo Ready Ready Preview Comment Nov 10, 2025 2:17pm
examples-svelte-web Ready Ready Preview Comment Nov 10, 2025 2:17pm
examples-tailwind-web Ready Ready Preview Comment Nov 10, 2025 2:17pm
examples-vite-web Ready Ready Preview Comment Nov 10, 2025 2:17pm
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
turbo-site Skipped Skipped Nov 10, 2025 2:17pm

Copy link
Contributor

@vercel vercel bot left a comment

Choose a reason for hiding this comment

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

Additional Suggestion:

The relative path to the helper script is broken because the test file was moved to a subdirectory but the path references were not updated. The path uses ../../ but should use ../../../ to correctly resolve from the new tests/other/ location to turborepo-tests/helpers/.

View Details
📝 Patch Details
diff --git a/turborepo-tests/integration/tests/other/affected-rdeps.t b/turborepo-tests/integration/tests/other/affected-rdeps.t
index 44b8e8762..54f3cb1fc 100644
--- a/turborepo-tests/integration/tests/other/affected-rdeps.t
+++ b/turborepo-tests/integration/tests/other/affected-rdeps.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 Create a new branch
   $ git checkout -b my-branch
diff --git a/turborepo-tests/integration/tests/other/affected.t b/turborepo-tests/integration/tests/other/affected.t
index 81a21e415..99670e19a 100644
--- a/turborepo-tests/integration/tests/other/affected.t
+++ b/turborepo-tests/integration/tests/other/affected.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 Create a new branch
   $ git checkout -b my-branch
diff --git a/turborepo-tests/integration/tests/other/bad-flag.t b/turborepo-tests/integration/tests/other/bad-flag.t
index a5c5a4ea9..f101c6094 100644
--- a/turborepo-tests/integration/tests/other/bad-flag.t
+++ b/turborepo-tests/integration/tests/other/bad-flag.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
 
 Bad flag should print misuse text
   $ ${TURBO} --bad-flag
diff --git a/turborepo-tests/integration/tests/other/bad-turbo-json.t b/turborepo-tests/integration/tests/other/bad-turbo-json.t
index 35e4da024..494f0df2e 100644
--- a/turborepo-tests/integration/tests/other/bad-turbo-json.t
+++ b/turborepo-tests/integration/tests/other/bad-turbo-json.t
@@ -1,8 +1,8 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 Add turbo.json with unnecessary package task syntax to a package
-  $ . ${TESTDIR}/../../helpers/replace_turbo_json.sh $(pwd)/apps/my-app "package-task.json"
+  $ . ${TESTDIR}/../../../helpers/replace_turbo_json.sh $(pwd)/apps/my-app "package-task.json"
 
 Run build with package task in non-root turbo.json
   $ ${TURBO} build 2> error.txt
@@ -32,7 +32,7 @@ Remove unnecessary package task syntax
   $ rm $(pwd)/apps/my-app/turbo.json
 
 Use our custom turbo config with an invalid env var
-  $ . ${TESTDIR}/../../helpers/replace_turbo_json.sh $(pwd) "invalid-env-var.json"
+  $ . ${TESTDIR}/../../../helpers/replace_turbo_json.sh $(pwd) "invalid-env-var.json"
 
 Run build with invalid env var
   $ ${TURBO} build 2> error.txt
@@ -70,7 +70,7 @@ Run in single package mode even though we have a task with package syntax
   
 
 Use our custom turbo config which has interruptible: true
-  $ . ${TESTDIR}/../../helpers/replace_turbo_json.sh $(pwd) "interruptible-but-not-persistent.json"
+  $ . ${TESTDIR}/../../../helpers/replace_turbo_json.sh $(pwd) "interruptible-but-not-persistent.json"
 
 Build should fail
   $ ${TURBO} run build
@@ -86,7 +86,7 @@ Build should fail
   [1]
 
 Use our custom turbo config with syntax errors
-  $ . ${TESTDIR}/../../helpers/replace_turbo_json.sh $(pwd) "syntax-error.json"
+  $ . ${TESTDIR}/../../../helpers/replace_turbo_json.sh $(pwd) "syntax-error.json"
 
 Run build with syntax errors in turbo.json
   $ ${TURBO} build
diff --git a/turborepo-tests/integration/tests/other/command-bin.t b/turborepo-tests/integration/tests/other/command-bin.t
index e3fe9ef06..5e0e634d1 100644
--- a/turborepo-tests/integration/tests/other/command-bin.t
+++ b/turborepo-tests/integration/tests/other/command-bin.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh --no-install
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh --no-install
 
   $ ${TURBO} bin -vvv > out.log 2>&1
   $ grep --quiet "Global turbo version: .*" out.log
diff --git a/turborepo-tests/integration/tests/other/command-link.t b/turborepo-tests/integration/tests/other/command-link.t
index d3ba844b0..efd010b53 100644
--- a/turborepo-tests/integration/tests/other/command-link.t
+++ b/turborepo-tests/integration/tests/other/command-link.t
@@ -1,6 +1,6 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
-  $ . ${TESTDIR}/../../helpers/mock_turbo_config.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/mock_turbo_config.sh
 
 Link Test Run
   $ ${TURBO} link --__test-run
diff --git a/turborepo-tests/integration/tests/other/command-login.t b/turborepo-tests/integration/tests/other/command-login.t
index 1ddfcf0eb..7ca517cbf 100644
--- a/turborepo-tests/integration/tests/other/command-login.t
+++ b/turborepo-tests/integration/tests/other/command-login.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
 
 Login Test Run
   $ ${TURBO} login --__test-run
diff --git a/turborepo-tests/integration/tests/other/command-logout.t b/turborepo-tests/integration/tests/other/command-logout.t
index 902308f8d..b225ebea0 100644
--- a/turborepo-tests/integration/tests/other/command-logout.t
+++ b/turborepo-tests/integration/tests/other/command-logout.t
@@ -1,6 +1,6 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
-  $ . ${TESTDIR}/../../helpers/mock_turbo_config.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/mock_turbo_config.sh
 
 Logout while logged in
   $ ${TURBO} logout
diff --git a/turborepo-tests/integration/tests/other/command-ls.t b/turborepo-tests/integration/tests/other/command-ls.t
index ab799b7ca..ec37bffbf 100644
--- a/turborepo-tests/integration/tests/other/command-ls.t
+++ b/turborepo-tests/integration/tests/other/command-ls.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh --no-install
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh --no-install
 
 Run info
   $ ${TURBO} ls
diff --git a/turborepo-tests/integration/tests/other/command-query.t b/turborepo-tests/integration/tests/other/command-query.t
index 2ba498b24..786c1ac59 100644
--- a/turborepo-tests/integration/tests/other/command-query.t
+++ b/turborepo-tests/integration/tests/other/command-query.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 Write query to file
   $ echo 'query { packages { items { name } } }' > query.gql
diff --git a/turborepo-tests/integration/tests/other/command-telemetry.t b/turborepo-tests/integration/tests/other/command-telemetry.t
index 91e746016..e14d89479 100644
--- a/turborepo-tests/integration/tests/other/command-telemetry.t
+++ b/turborepo-tests/integration/tests/other/command-telemetry.t
@@ -1,6 +1,6 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
-  $ . ${TESTDIR}/../../helpers/mock_telemetry_config.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/mock_telemetry_config.sh
 
 Run status (with first run message)
   $ TURBO_TELEMETRY_MESSAGE_DISABLED=0 ${TURBO} telemetry status
diff --git a/turborepo-tests/integration/tests/other/command-unlink.t b/turborepo-tests/integration/tests/other/command-unlink.t
index 96d9516c5..85becde1f 100644
--- a/turborepo-tests/integration/tests/other/command-unlink.t
+++ b/turborepo-tests/integration/tests/other/command-unlink.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
 
 Unlink Test Run
   $ ${TURBO} unlink --__test-run
diff --git a/turborepo-tests/integration/tests/other/command-version.t b/turborepo-tests/integration/tests/other/command-version.t
index 3860319d0..da9e62dde 100644
--- a/turborepo-tests/integration/tests/other/command-version.t
+++ b/turborepo-tests/integration/tests/other/command-version.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
   $ VERSION=${MONOREPO_ROOT_DIR}/version.txt
 
 Test version matches that of version.txt
diff --git a/turborepo-tests/integration/tests/other/config.t b/turborepo-tests/integration/tests/other/config.t
index 2210d588e..dd200cb41 100644
--- a/turborepo-tests/integration/tests/other/config.t
+++ b/turborepo-tests/integration/tests/other/config.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh --no-install
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh --no-install
 
 Run test run
   $ ${TURBO} config
@@ -44,7 +44,7 @@ Run test run with remote cache timeout from both env and flag (flag should take
   456
 
 Use our custom turbo config with an invalid env var
-  $ . ${TESTDIR}/../../helpers/replace_turbo_json.sh $(pwd) "invalid-env-var.json"
+  $ . ${TESTDIR}/../../../helpers/replace_turbo_json.sh $(pwd) "invalid-env-var.json"
 
 Run build with invalid env var
   $ ${TURBO} build
diff --git a/turborepo-tests/integration/tests/other/conflicting-flags.t b/turborepo-tests/integration/tests/other/conflicting-flags.t
index f62c847d9..f15640254 100644
--- a/turborepo-tests/integration/tests/other/conflicting-flags.t
+++ b/turborepo-tests/integration/tests/other/conflicting-flags.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh --no-install
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh --no-install
   $ ${TURBO} run build --daemon --no-daemon
    ERROR  the argument '--daemon' cannot be used with '--no-daemon'
   
diff --git a/turborepo-tests/integration/tests/other/dry-run.t b/turborepo-tests/integration/tests/other/dry-run.t
index cab66919c..3a3ef8b87 100644
--- a/turborepo-tests/integration/tests/other/dry-run.t
+++ b/turborepo-tests/integration/tests/other/dry-run.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 # Run the build task with --dry flag and cut up the logs into separate files by empty lines
 # https://stackoverflow.com/a/33297878/986415
diff --git a/turborepo-tests/integration/tests/other/engines.t b/turborepo-tests/integration/tests/other/engines.t
index bee444d45..0cd34d426 100644
--- a/turborepo-tests/integration/tests/other/engines.t
+++ b/turborepo-tests/integration/tests/other/engines.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
   $ jq '.engines = {"node": ">=12"}' package.json > package.json.new
   $ mv package.json.new package.json
 
diff --git a/turborepo-tests/integration/tests/other/filter-run.t b/turborepo-tests/integration/tests/other/filter-run.t
index 5066f610c..a1d8c7c08 100644
--- a/turborepo-tests/integration/tests/other/filter-run.t
+++ b/turborepo-tests/integration/tests/other/filter-run.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 # Running with --filter works and exits with success
   $ ${TURBO} run build --filter="[main]"
diff --git a/turborepo-tests/integration/tests/other/find-correct-turbo.t b/turborepo-tests/integration/tests/other/find-correct-turbo.t
index 656e2a40d..8d52fb96e 100644
--- a/turborepo-tests/integration/tests/other/find-correct-turbo.t
+++ b/turborepo-tests/integration/tests/other/find-correct-turbo.t
@@ -1,4 +1,4 @@
-  $ . ${TESTDIR}/../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
 
 Make sure exit code is 2 when no args are passed
   $ CURR=$(${TURBO} --cwd ${TESTDIR}/../.. bin)
diff --git a/turborepo-tests/integration/tests/other/framework-inference.t b/turborepo-tests/integration/tests/other/framework-inference.t
index 2921929d2..276de7d50 100644
--- a/turborepo-tests/integration/tests/other/framework-inference.t
+++ b/turborepo-tests/integration/tests/other/framework-inference.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh framework_inference --no-install
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh framework_inference --no-install
 
 Prove that we start with no inferred variables
   $ ${TURBO} run build --dry=json | jq -r '.tasks[].environmentVariables.inferred'
diff --git a/turborepo-tests/integration/tests/other/global-deps.t b/turborepo-tests/integration/tests/other/global-deps.t
index ba8e1e7ed..7853635f1 100644
--- a/turborepo-tests/integration/tests/other/global-deps.t
+++ b/turborepo-tests/integration/tests/other/global-deps.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh global_deps
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh global_deps
 
 Run a build
   $ ${TURBO} build -F my-app --output-logs=hash-only
diff --git a/turborepo-tests/integration/tests/other/global-env.t b/turborepo-tests/integration/tests/other/global-env.t
index a22269cf5..88274aa1a 100644
--- a/turborepo-tests/integration/tests/other/global-env.t
+++ b/turborepo-tests/integration/tests/other/global-env.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 # Run all tests with --filter=util so we don't have any non-deterministic ordering
 
diff --git a/turborepo-tests/integration/tests/other/interactive.t b/turborepo-tests/integration/tests/other/interactive.t
index fea5c26e8..16c0f683e 100644
--- a/turborepo-tests/integration/tests/other/interactive.t
+++ b/turborepo-tests/integration/tests/other/interactive.t
@@ -1,6 +1,6 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
-  $ . ${TESTDIR}/../../helpers/replace_turbo_json.sh $(pwd) "interactive.json"
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/replace_turbo_json.sh $(pwd) "interactive.json"
 Verify we error on interactive task that hasn't been marked as cache: false
   $ ${TURBO} build
     x Tasks cannot be marked as interactive and cacheable.
diff --git a/turborepo-tests/integration/tests/other/invalid-package-json.t b/turborepo-tests/integration/tests/other/invalid-package-json.t
index 416fa8d6d..597f1bda3 100644
--- a/turborepo-tests/integration/tests/other/invalid-package-json.t
+++ b/turborepo-tests/integration/tests/other/invalid-package-json.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh --no-install
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh --no-install
 Clear name field
   $ jq '.name = ""' apps/my-app/package.json > package.json.new
   $ mv apps/my-app/package.json apps/my-app/package.json.old
diff --git a/turborepo-tests/integration/tests/other/no-args.t b/turborepo-tests/integration/tests/other/no-args.t
index f78b2cadb..0d1e04b5e 100644
--- a/turborepo-tests/integration/tests/other/no-args.t
+++ b/turborepo-tests/integration/tests/other/no-args.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 Make sure exit code is 2 when no args are passed
   $ ${TURBO}
@@ -164,7 +164,7 @@ we get the full help output.
   The build system that makes ship happen
 
 Initialize a new monorepo
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh composable_config > /dev/null 2>&1
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh composable_config > /dev/null 2>&1
 
   $ ${TURBO} run
   No tasks provided, here are some potential ones
diff --git a/turborepo-tests/integration/tests/other/package-manager.t b/turborepo-tests/integration/tests/other/package-manager.t
index f7d04cd76..00c610a10 100644
--- a/turborepo-tests/integration/tests/other/package-manager.t
+++ b/turborepo-tests/integration/tests/other/package-manager.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh basic_monorepo "npm@8.19.4" --no-install
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh basic_monorepo "npm@8.19.4" --no-install
 
 Run test run
   $ TURBO_LOG_VERBOSITY=off ${TURBO} config | jq .packageManager
diff --git a/turborepo-tests/integration/tests/other/passthrough-args.t b/turborepo-tests/integration/tests/other/passthrough-args.t
index 3e8d6e141..2d1c2d612 100644
--- a/turborepo-tests/integration/tests/other/passthrough-args.t
+++ b/turborepo-tests/integration/tests/other/passthrough-args.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh passthrough
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh passthrough
 
   $ ${TURBO} -F my-app echo -- hello
   \xe2\x80\xa2 Packages in scope: my-app (esc)
diff --git a/turborepo-tests/integration/tests/other/pkg-inference.t b/turborepo-tests/integration/tests/other/pkg-inference.t
index 51eeadef8..dd082ef44 100644
--- a/turborepo-tests/integration/tests/other/pkg-inference.t
+++ b/turborepo-tests/integration/tests/other/pkg-inference.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 # Run as if called by global turbo
   $ TURBO_INVOCATION_DIR=$(pwd)/packages/util ${TURBO} build --skip-infer
diff --git a/turborepo-tests/integration/tests/other/recursive-turbo.t b/turborepo-tests/integration/tests/other/recursive-turbo.t
index 30be27770..a4ca823c2 100644
--- a/turborepo-tests/integration/tests/other/recursive-turbo.t
+++ b/turborepo-tests/integration/tests/other/recursive-turbo.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh
 
 sed replaces the square brackets with parentheses so prysk can parse the file path
   $ ${TURBO} something 2>&1 | sed  's/\[\([^]]*\)\]/\(\1)/g'
diff --git a/turborepo-tests/integration/tests/other/shim-errors.t b/turborepo-tests/integration/tests/other/shim-errors.t
index 669809f93..a6d1595cb 100644
--- a/turborepo-tests/integration/tests/other/shim-errors.t
+++ b/turborepo-tests/integration/tests/other/shim-errors.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
 
 Should error if `--cwd` flag doesn't have path passed along with it
   $ ${TURBO} foo bar --cwd
diff --git a/turborepo-tests/integration/tests/other/turbo-help.t b/turborepo-tests/integration/tests/other/turbo-help.t
index 39663df7d..663a6f64c 100644
--- a/turborepo-tests/integration/tests/other/turbo-help.t
+++ b/turborepo-tests/integration/tests/other/turbo-help.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup.sh
+  $ . ${TESTDIR}/../../../helpers/setup.sh
 
 Test help flag
   $ ${TURBO} -h
diff --git a/turborepo-tests/integration/tests/other/turbo-trace.t b/turborepo-tests/integration/tests/other/turbo-trace.t
index cb6f7e33e..d696d4113 100644
--- a/turborepo-tests/integration/tests/other/turbo-trace.t
+++ b/turborepo-tests/integration/tests/other/turbo-trace.t
@@ -1,5 +1,5 @@
 Setup
-  $ . ${TESTDIR}/../../helpers/setup_integration_test.sh turbo_trace
+  $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh turbo_trace
 
   $ ${TURBO} query "query { file(path: \"main.ts\") { path } }"
    WARNING  query command is experimental and may change in the future

Analysis

Broken helper script paths in tests/other/ directory

What fails: All 32 test files in turborepo-tests/integration/tests/other/ use incorrect relative paths to the setup helper script, causing them to fail immediately when run.

How to reproduce: From any test file in tests/other/, the setup line uses: .

When the test runner executes from turborepo-tests/integration/tests/other/, this resolves to the non-existent path turborepo-tests/integration/helpers/setup_integration_test.sh.

What happens: Tests fail with "can't open file ... No such file or directory" and never execute their test logic.

Expected behavior: Paths should resolve to turborepo-tests/helpers/setup_integration_test.sh, which is the actual location of the helper script. This is consistent with how all other test subdirectories (clone/, daemon/, dry-json/, edit-turbo-json/, etc.) already reference the helper using .

Root cause: The test files in tests/other/ use one fewer ../ segment than files in sibling subdirectories, likely from being added at the wrong directory level or moved without updating the relative paths.

Fix on Vercel

@anthonyshew anthonyshew marked this pull request as ready for review November 10, 2025 14:17
@anthonyshew anthonyshew requested a review from a team as a code owner November 10, 2025 14:17
@anthonyshew
Copy link
Contributor Author

The macOS failure is a known flake with a boundaries test. Will address elsewhere.

@anthonyshew anthonyshew merged commit 6452637 into main Nov 10, 2025
91 of 93 checks passed
@anthonyshew anthonyshew deleted the shew/f90f6 branch November 10, 2025 14:29
mehulkar added a commit that referenced this pull request Nov 10, 2025
Followup to #11084:

- Generate list of directories instead of hardcoding
- Error if any `.t` files are not in subdirs so they dont' accidentally
get omitted
anthonyshew added a commit that referenced this pull request Nov 12, 2025
### Description

With #11084 and #11089 now landed, our unit tests can be our CI
bottleneck sometimes.

They can take more than 10 minutes. In this PR, we give them some light
partitioning to get them completed quicker.

### Testing Instructions

CI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants