From 5ea782a7161648348a36551da1afdde125fcde01 Mon Sep 17 00:00:00 2001 From: Chris Olszewski Date: Wed, 22 May 2024 19:30:35 -0700 Subject: [PATCH] feat: incorperate internal root package dependencies to global hash --- crates/turborepo-lib/src/hash/mod.rs | 10 ++++- crates/turborepo-lib/src/hash/proto.capnp | 12 +++--- crates/turborepo-lib/src/run/global_hash.rs | 7 +++- crates/turborepo-lib/src/run/mod.rs | 13 +++++- .../src/run/summary/global_hash.rs | 2 + crates/turborepo-lib/src/task_hash.rs | 24 +++++++++++ .../src/package_graph/mod.rs | 33 ++++++++++++++- .../integration/fixtures/root_deps/.gitignore | 4 ++ .../root_deps/apps/my-app/package.json | 9 ++++ .../fixtures/root_deps/package.json | 10 +++++ .../root_deps/packages/another/package.json | 6 +++ .../root_deps/packages/util/package.json | 6 +++ .../integration/fixtures/root_deps/turbo.json | 12 ++++++ .../integration/tests/dry-json/monorepo.t | 4 +- .../tests/dry-json/single-package-no-config.t | 2 +- .../tests/dry-json/single-package-with-deps.t | 4 +- .../tests/dry-json/single-package.t | 2 +- turborepo-tests/integration/tests/dry-run.t | 4 +- .../integration/tests/edit-turbo-json/task.t | 30 ++++++------- .../integration/tests/global-deps.t | 6 +-- .../integration/tests/global-env.t | 10 ++--- .../6-topological-unimplemented.t | 2 +- .../integration/tests/pkg-inference.t | 2 +- .../tests/prune/composable-config.t | 2 +- .../excluded-inputs/excluded-inputs.t | 4 +- .../integration/tests/run-caching/root-deps.t | 42 +++++++++++++++++++ .../tests/run-logging/errors-only.t | 4 +- .../tests/run-logging/log-order-github.t | 8 ++-- .../tests/run-logging/log-prefix.t | 6 +-- .../integration/tests/run-logging/verbosity.t | 4 +- .../integration/tests/run-summary/discovery.t | 2 +- .../integration/tests/run-summary/error.t | 2 +- .../integration/tests/run/continue.t | 8 ++-- turborepo-tests/integration/tests/run/force.t | 26 ++++++------ .../integration/tests/run/gitignored-inputs.t | 4 +- turborepo-tests/integration/tests/run/globs.t | 6 +-- .../integration/tests/run/one-script-error.t | 14 +++---- .../tests/run/single-package/dry-run.t | 2 +- .../tests/run/single-package/no-config.t | 6 +-- .../tests/run/single-package/run-yarn.t | 4 +- .../tests/run/single-package/run.t | 4 +- .../run/single-package/with-deps-dry-run.t | 4 +- .../tests/run/single-package/with-deps-run.t | 12 +++--- .../tests/task-dependencies/overwriting.t | 6 +-- .../tests/task-dependencies/root-workspace.t | 4 +- .../tests/task-dependencies/topological.t | 4 +- .../tests/workspace-configs/add-keys.t | 16 +++---- .../tests/workspace-configs/add-tasks.t | 2 +- .../tests/workspace-configs/cache.t | 8 ++-- .../tests/workspace-configs/config-change.t | 6 +-- .../tests/workspace-configs/cross-workspace.t | 4 +- .../missing-workspace-config-deps.t | 6 +-- .../missing-workspace-config.t | 12 +++--- .../tests/workspace-configs/omit-keys-deps.t | 6 +-- .../tests/workspace-configs/omit-keys.t | 10 ++--- .../workspace-configs/override-values-deps.t | 2 +- .../tests/workspace-configs/override-values.t | 12 +++--- .../tests/workspace-configs/persistent.t | 4 +- 58 files changed, 323 insertions(+), 157 deletions(-) create mode 100644 turborepo-tests/integration/fixtures/root_deps/.gitignore create mode 100644 turborepo-tests/integration/fixtures/root_deps/apps/my-app/package.json create mode 100644 turborepo-tests/integration/fixtures/root_deps/package.json create mode 100644 turborepo-tests/integration/fixtures/root_deps/packages/another/package.json create mode 100644 turborepo-tests/integration/fixtures/root_deps/packages/util/package.json create mode 100644 turborepo-tests/integration/fixtures/root_deps/turbo.json create mode 100644 turborepo-tests/integration/tests/run-caching/root-deps.t diff --git a/crates/turborepo-lib/src/hash/mod.rs b/crates/turborepo-lib/src/hash/mod.rs index 8dcba387ce5b1..6558c36c86708 100644 --- a/crates/turborepo-lib/src/hash/mod.rs +++ b/crates/turborepo-lib/src/hash/mod.rs @@ -64,8 +64,9 @@ pub struct TaskHashable<'a> { pub struct GlobalHashable<'a> { pub global_cache_key: &'static str, pub global_file_hash_map: &'a HashMap, - // This is None in single package mode + // These are None in single package mode pub root_external_dependencies_hash: Option<&'a str>, + pub root_internal_dependencies_hash: Option<&'a str>, pub env: &'a [String], pub resolved_env_vars: EnvironmentVariablePairs, pub pass_through_env: &'a [String], @@ -306,6 +307,10 @@ impl From> for Builder { builder.set_root_external_deps_hash(root_external_dependencies_hash); } + if let Some(root_internal_dependencies_hash) = hashable.root_internal_dependencies_hash { + builder.set_root_internal_deps_hash(root_internal_dependencies_hash); + } + { let mut entries = builder.reborrow().init_env(hashable.env.len() as u32); for (i, env) in hashable.env.iter().enumerate() { @@ -401,6 +406,7 @@ mod test { global_cache_key: "global_cache_key", global_file_hash_map: &global_file_hash_map, root_external_dependencies_hash: Some("0000000000000000"), + root_internal_dependencies_hash: Some("0000000000000001"), env: &["env".to_string()], resolved_env_vars: vec![], pass_through_env: &["pass_through_env".to_string()], @@ -408,7 +414,7 @@ mod test { framework_inference: true, }; - assert_eq!(global_hash.hash(), "9f06917065be0a72"); + assert_eq!(global_hash.hash(), "8d5ecbdc3ff2b3f2"); } #[test_case(vec![], "459c029558afe716" ; "empty")] diff --git a/crates/turborepo-lib/src/hash/proto.capnp b/crates/turborepo-lib/src/hash/proto.capnp index 18a97de3fcdd2..19cf20915ef20 100644 --- a/crates/turborepo-lib/src/hash/proto.capnp +++ b/crates/turborepo-lib/src/hash/proto.capnp @@ -19,7 +19,6 @@ struct TaskHashable { resolvedEnvVars @9 :List(Text); passThruEnv @10 :List(Text); envMode @11 :EnvMode; - dotEnv @12 :List(Text); enum EnvMode { loose @0; @@ -36,11 +35,12 @@ struct GlobalHashable { globalCacheKey @0 :Text; globalFileHashMap @1 :List(Entry); rootExternalDepsHash @2 :Text; - env @3 :List(Text); - resolvedEnvVars @4 :List(Text); - passThroughEnv @5 :List(Text); - envMode @6 :EnvMode; - frameworkInference @7 :Bool; + rootInternalDepsHash @3 :Text; + env @4 :List(Text); + resolvedEnvVars @5 :List(Text); + passThroughEnv @6 :List(Text); + envMode @7 :EnvMode; + frameworkInference @8 :Bool; enum EnvMode { diff --git a/crates/turborepo-lib/src/run/global_hash.rs b/crates/turborepo-lib/src/run/global_hash.rs index b5529e1104dcd..ece8fa8cca58d 100644 --- a/crates/turborepo-lib/src/run/global_hash.rs +++ b/crates/turborepo-lib/src/run/global_hash.rs @@ -41,8 +41,9 @@ pub enum Error { pub struct GlobalHashableInputs<'a> { pub global_cache_key: &'static str, pub global_file_hash_map: HashMap, - // This is `None` in single package mode + // These are `None` in single package mode pub root_external_dependencies_hash: Option<&'a str>, + pub root_internal_dependencies_hash: Option<&'a str>, pub env: &'a [String], // Only Option to allow #[derive(Default)] pub resolved_env_vars: Option, @@ -55,6 +56,7 @@ pub struct GlobalHashableInputs<'a> { #[allow(clippy::too_many_arguments)] pub fn get_global_hash_inputs<'a, L: ?Sized + Lockfile>( root_external_dependencies_hash: Option<&'a str>, + root_internal_dependencies_hash: Option<&'a str>, root_path: &AbsoluteSystemPath, package_manager: &PackageManager, lockfile: Option<&L>, @@ -101,6 +103,7 @@ pub fn get_global_hash_inputs<'a, L: ?Sized + Lockfile>( global_cache_key: GLOBAL_CACHE_KEY, global_file_hash_map, root_external_dependencies_hash, + root_internal_dependencies_hash, env: global_env, resolved_env_vars: Some(global_hashable_env_vars), pass_through_env: global_pass_through_env, @@ -176,6 +179,7 @@ impl<'a> GlobalHashableInputs<'a> { global_cache_key: self.global_cache_key, global_file_hash_map: &self.global_file_hash_map, root_external_dependencies_hash: self.root_external_dependencies_hash, + root_internal_dependencies_hash: self.root_internal_dependencies_hash, env: self.env, resolved_env_vars: self .resolved_env_vars @@ -224,6 +228,7 @@ mod tests { #[cfg(not(windows))] let file_deps = ["/some/path".to_string()]; let result = get_global_hash_inputs( + None, None, &root, &PackageManager::Pnpm, diff --git a/crates/turborepo-lib/src/run/mod.rs b/crates/turborepo-lib/src/run/mod.rs index d6ff7aef2a8de..60be2dfba1f09 100644 --- a/crates/turborepo-lib/src/run/mod.rs +++ b/crates/turborepo-lib/src/run/mod.rs @@ -37,7 +37,7 @@ use crate::{ run::{global_hash::get_global_hash_inputs, summary::RunTracker, task_access::TaskAccess}, signal::SignalHandler, task_graph::Visitor, - task_hash::{get_external_deps_hash, PackageInputsHashes}, + task_hash::{get_external_deps_hash, get_internal_deps_hash, PackageInputsHashes}, turbo_json::TurboJson, DaemonClient, DaemonConnector, }; @@ -259,6 +259,16 @@ impl Run { let root_external_dependencies_hash = is_monorepo.then(|| get_external_deps_hash(&root_workspace.transitive_dependencies)); + let root_internal_dependencies_hash = is_monorepo + .then(|| { + get_internal_deps_hash( + &self.scm, + &self.repo_root, + self.pkg_dep_graph.root_internal_package_dependencies(), + ) + }) + .transpose()?; + let global_hash_inputs = { let env_mode = self.opts.run_opts.env_mode; let pass_through_env = match env_mode { @@ -271,6 +281,7 @@ impl Run { get_global_hash_inputs( root_external_dependencies_hash.as_deref(), + root_internal_dependencies_hash.as_deref(), &self.repo_root, self.pkg_dep_graph.package_manager(), self.pkg_dep_graph.lockfile(), diff --git a/crates/turborepo-lib/src/run/summary/global_hash.rs b/crates/turborepo-lib/src/run/summary/global_hash.rs index b0773cab2a405..6376bfba66eae 100644 --- a/crates/turborepo-lib/src/run/summary/global_hash.rs +++ b/crates/turborepo-lib/src/run/summary/global_hash.rs @@ -31,6 +31,7 @@ pub struct GlobalHashSummary<'a> { pub root_key: &'static str, pub files: BTreeMap, pub hash_of_external_dependencies: &'a str, + pub hash_of_internal_dependencies: &'a str, pub environment_variables: GlobalEnvVarSummary<'a>, } @@ -65,6 +66,7 @@ impl<'a> TryFrom> for GlobalHashSummary<'a> { files: global_file_hash_map.into_iter().collect(), // This can be empty in single package mode hash_of_external_dependencies: root_external_dependencies_hash.unwrap_or_default(), + hash_of_internal_dependencies: root_internal_dependencies_hash.unwrap_or_default(), environment_variables: GlobalEnvVarSummary { specified: GlobalEnvConfiguration { env, diff --git a/crates/turborepo-lib/src/task_hash.rs b/crates/turborepo-lib/src/task_hash.rs index 1cf7f9908c449..d28d7c52ada03 100644 --- a/crates/turborepo-lib/src/task_hash.rs +++ b/crates/turborepo-lib/src/task_hash.rs @@ -513,6 +513,30 @@ pub fn get_external_deps_hash( LockFilePackages(transitive_deps).hash() } +pub fn get_internal_deps_hash( + scm: &SCM, + root: &AbsoluteSystemPath, + package_dirs: HashSet<&AnchoredSystemPath>, +) -> Result { + if package_dirs.is_empty() { + return Ok("".into()); + } + + let file_hashes = package_dirs + .into_par_iter() + .map(|package_dir| scm.get_package_file_hashes::<&str>(root, package_dir, &[], None)) + .reduce( + || Ok(HashMap::new()), + |acc, hashes| { + let mut acc = acc?; + let hashes = hashes?; + acc.extend(hashes.into_iter()); + Ok(acc) + }, + )?; + Ok(FileHashes(file_hashes).hash()) +} + impl TaskHashTracker { pub fn new(input_expanded_hashes: HashMap, FileHashes>) -> Self { Self { diff --git a/crates/turborepo-repository/src/package_graph/mod.rs b/crates/turborepo-repository/src/package_graph/mod.rs index 4c147908a9645..7f1302ae39d36 100644 --- a/crates/turborepo-repository/src/package_graph/mod.rs +++ b/crates/turborepo-repository/src/package_graph/mod.rs @@ -278,6 +278,20 @@ impl PackageGraph { dependents } + pub fn root_internal_package_dependencies(&self) -> HashSet<&AnchoredSystemPath> { + let dependencies = self.dependencies(&PackageNode::Workspace(PackageName::Root)); + dependencies + .into_iter() + .filter_map(|package| match package { + PackageNode::Workspace(package) => Some( + self.package_dir(package) + .expect("packages in graph should have info"), + ), + PackageNode::Root => None, + }) + .collect() + } + /// Returns the transitive closure of the given nodes in the package /// graph. Note that this includes the nodes themselves. If you want just /// the dependencies, or the dependents, use `dependencies` or `ancestors`. @@ -466,7 +480,6 @@ mod test { use std::assert_matches::assert_matches; use serde_json::json; - use turbopath::AbsoluteSystemPathBuf; use super::*; use crate::discovery::PackageDiscovery; @@ -519,7 +532,10 @@ mod test { AbsoluteSystemPathBuf::new(if cfg!(windows) { r"C:\repo" } else { "/repo" }).unwrap(); let pkg_graph = PackageGraph::builder( &root, - PackageJson::from_value(json!({ "name": "root" })).unwrap(), + PackageJson::from_value( + json!({ "name": "root", "dependencies": { "a": "workspace:*"} }), + ) + .unwrap(), ) .with_package_discovery(MockDiscovery) .with_package_jsons(Some({ @@ -572,6 +588,19 @@ mod test { let pkg_version = b_external.get("c").unwrap(); assert_eq!(pkg_version, "1.2.3"); + let closure = + pkg_graph.transitive_closure(Some(&PackageNode::Workspace(PackageName::Root))); + assert_eq!( + closure, + [ + PackageNode::Root, + PackageNode::Workspace(PackageName::Root), + PackageNode::Workspace("a".into()), + PackageNode::Workspace("b".into()), + ] + .iter() + .collect::>() + ); } #[derive(Debug)] diff --git a/turborepo-tests/integration/fixtures/root_deps/.gitignore b/turborepo-tests/integration/fixtures/root_deps/.gitignore new file mode 100644 index 0000000000000..088f9174d69f8 --- /dev/null +++ b/turborepo-tests/integration/fixtures/root_deps/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +.turbo +.npmrc +dist diff --git a/turborepo-tests/integration/fixtures/root_deps/apps/my-app/package.json b/turborepo-tests/integration/fixtures/root_deps/apps/my-app/package.json new file mode 100644 index 0000000000000..162bcddf217ef --- /dev/null +++ b/turborepo-tests/integration/fixtures/root_deps/apps/my-app/package.json @@ -0,0 +1,9 @@ +{ + "name": "my-app", + "scripts": { + "build": "echo building" + }, + "dependencies": { + "util": "*" + } +} diff --git a/turborepo-tests/integration/fixtures/root_deps/package.json b/turborepo-tests/integration/fixtures/root_deps/package.json new file mode 100644 index 0000000000000..396e9b1d622c5 --- /dev/null +++ b/turborepo-tests/integration/fixtures/root_deps/package.json @@ -0,0 +1,10 @@ +{ + "name": "monorepo", + "workspaces": [ + "apps/**", + "packages/**" + ], + "dependencies": { + "util": "*" + } +} diff --git a/turborepo-tests/integration/fixtures/root_deps/packages/another/package.json b/turborepo-tests/integration/fixtures/root_deps/packages/another/package.json new file mode 100644 index 0000000000000..b45b1b072f8bd --- /dev/null +++ b/turborepo-tests/integration/fixtures/root_deps/packages/another/package.json @@ -0,0 +1,6 @@ +{ + "name": "another", + "scripts": { + "build": "echo building" + } +} diff --git a/turborepo-tests/integration/fixtures/root_deps/packages/util/package.json b/turborepo-tests/integration/fixtures/root_deps/packages/util/package.json new file mode 100644 index 0000000000000..7309726a1df4e --- /dev/null +++ b/turborepo-tests/integration/fixtures/root_deps/packages/util/package.json @@ -0,0 +1,6 @@ +{ + "name": "util", + "scripts": { + "build": "echo building" + } +} diff --git a/turborepo-tests/integration/fixtures/root_deps/turbo.json b/turborepo-tests/integration/fixtures/root_deps/turbo.json new file mode 100644 index 0000000000000..a8d8d805e85f0 --- /dev/null +++ b/turborepo-tests/integration/fixtures/root_deps/turbo.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://turbo.build/schema.json", + "globalDependencies": ["foo.txt"], + "globalEnv": ["SOME_ENV_VAR"], + "tasks": { + "build": { + "env": ["NODE_ENV"], + "dependsOn": ["^build"], + "outputs": ["dist/**"] + } + } +} diff --git a/turborepo-tests/integration/tests/dry-json/monorepo.t b/turborepo-tests/integration/tests/dry-json/monorepo.t index 18141785b28a6..9e8d0404afb18 100644 --- a/turborepo-tests/integration/tests/dry-json/monorepo.t +++ b/turborepo-tests/integration/tests/dry-json/monorepo.t @@ -49,7 +49,7 @@ Setup "taskId": "my-app#build", "task": "build", "package": "my-app", - "hash": "ed450f573b231cb7", + "hash": "270f1ef47a80f1d1", "inputs": { ".env.local": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", "package.json": "1746e0db2361085b5953a6a3beab08c24af5bc08" @@ -109,7 +109,7 @@ Setup "taskId": "util#build", "task": "build", "package": "util", - "hash": "41b033e352a43533", + "hash": "fad2a643cb480b55", "inputs": { "package.json": "e755064fd7893809d10fc067bb409c7ae516327f" }, diff --git a/turborepo-tests/integration/tests/dry-json/single-package-no-config.t b/turborepo-tests/integration/tests/dry-json/single-package-no-config.t index 12e18a1700c96..5825c1afa065d 100644 --- a/turborepo-tests/integration/tests/dry-json/single-package-no-config.t +++ b/turborepo-tests/integration/tests/dry-json/single-package-no-config.t @@ -32,7 +32,7 @@ Setup { "taskId": "build", "task": "build", - "hash": "a6da7b8ddbe2bb84", + "hash": "12c592ddc0e53a5c", "inputs": { ".gitignore": "03b541460c1b836f96f9c0a941ceb48e91a9fd83", "package-lock.json": "1c117cce37347befafe3a9cba1b8a609b3600021", diff --git a/turborepo-tests/integration/tests/dry-json/single-package-with-deps.t b/turborepo-tests/integration/tests/dry-json/single-package-with-deps.t index ec43c0e5f382e..6f09b3ca46a25 100644 --- a/turborepo-tests/integration/tests/dry-json/single-package-with-deps.t +++ b/turborepo-tests/integration/tests/dry-json/single-package-with-deps.t @@ -31,7 +31,7 @@ Setup { "taskId": "build", "task": "build", - "hash": "4047a6e65d7dafef", + "hash": "81a933c332d3f388", "inputs": { ".gitignore": "03b541460c1b836f96f9c0a941ceb48e91a9fd83", "package-lock.json": "1c117cce37347befafe3a9cba1b8a609b3600021", @@ -86,7 +86,7 @@ Setup { "taskId": "test", "task": "test", - "hash": "89d72e7337505ef6", + "hash": "785d8ef1115bde3b", "inputs": { ".gitignore": "03b541460c1b836f96f9c0a941ceb48e91a9fd83", "package-lock.json": "1c117cce37347befafe3a9cba1b8a609b3600021", diff --git a/turborepo-tests/integration/tests/dry-json/single-package.t b/turborepo-tests/integration/tests/dry-json/single-package.t index dee7da8682f2f..f6da90300de3a 100644 --- a/turborepo-tests/integration/tests/dry-json/single-package.t +++ b/turborepo-tests/integration/tests/dry-json/single-package.t @@ -31,7 +31,7 @@ Setup { "taskId": "build", "task": "build", - "hash": "4047a6e65d7dafef", + "hash": "81a933c332d3f388", "inputs": { ".gitignore": "03b541460c1b836f96f9c0a941ceb48e91a9fd83", "package-lock.json": "1c117cce37347befafe3a9cba1b8a609b3600021", diff --git a/turborepo-tests/integration/tests/dry-run.t b/turborepo-tests/integration/tests/dry-run.t index 52f7e8844ace0..a3aa4939dbf2b 100644 --- a/turborepo-tests/integration/tests/dry-run.t +++ b/turborepo-tests/integration/tests/dry-run.t @@ -30,7 +30,7 @@ Setup my-app#build Task = build\s* (re) Package = my-app\s* (re) - Hash = ed450f573b231cb7 + Hash = 270f1ef47a80f1d1 Cached (Local) = false Cached (Remote) = false Directory = apps(\/|\\)my-app (re) @@ -50,7 +50,7 @@ Setup util#build Task = build\s* (re) Package = util\s* (re) - Hash = 41b033e352a43533 + Hash = fad2a643cb480b55 Cached (Local) = false Cached (Remote) = false Directory = packages(\/|\\)util (re) diff --git a/turborepo-tests/integration/tests/edit-turbo-json/task.t b/turborepo-tests/integration/tests/edit-turbo-json/task.t index c603b6ab7c641..b0efcc78fc94d 100644 --- a/turborepo-tests/integration/tests/edit-turbo-json/task.t +++ b/turborepo-tests/integration/tests/edit-turbo-json/task.t @@ -6,15 +6,15 @@ Baseline task hashes $ ${TURBO} build --dry=json | jq -r '.tasks | sort_by(.taskId)[] | {taskId, hash}' { "taskId": "another#build", - "hash": "78b732d9478d9b83" + "hash": "ea00e25531db048f" } { "taskId": "my-app#build", - "hash": "ed450f573b231cb7" + "hash": "270f1ef47a80f1d1" } { "taskId": "util#build", - "hash": "41b033e352a43533" + "hash": "fad2a643cb480b55" } Change only my-app#build @@ -22,15 +22,15 @@ Change only my-app#build $ ${TURBO} build --dry=json | jq -r '.tasks | sort_by(.taskId)[] | {taskId, hash}' { "taskId": "another#build", - "hash": "78b732d9478d9b83" + "hash": "ea00e25531db048f" } { "taskId": "my-app#build", - "hash": "eb391860afd5dfdc" + "hash": "b0eb2c24b2a84be5" } { "taskId": "util#build", - "hash": "41b033e352a43533" + "hash": "fad2a643cb480b55" } Change my-app#build dependsOn @@ -38,15 +38,15 @@ Change my-app#build dependsOn $ ${TURBO} build --dry=json | jq -r '.tasks | sort_by(.taskId)[] | {taskId, hash}' { "taskId": "another#build", - "hash": "78b732d9478d9b83" + "hash": "ea00e25531db048f" } { "taskId": "my-app#build", - "hash": "d71bf2777e3824b7" + "hash": "9e63702de36d25c6" } { "taskId": "util#build", - "hash": "41b033e352a43533" + "hash": "fad2a643cb480b55" } Non-materially modifying the dep graph does nothing. @@ -54,15 +54,15 @@ Non-materially modifying the dep graph does nothing. $ ${TURBO} build --dry=json | jq -r '.tasks | sort_by(.taskId)[] | {taskId, hash}' { "taskId": "another#build", - "hash": "78b732d9478d9b83" + "hash": "ea00e25531db048f" } { "taskId": "my-app#build", - "hash": "d71bf2777e3824b7" + "hash": "9e63702de36d25c6" } { "taskId": "util#build", - "hash": "41b033e352a43533" + "hash": "fad2a643cb480b55" } @@ -71,13 +71,13 @@ Change util#build impacts itself and my-app $ ${TURBO} build --dry=json | jq -r '.tasks | sort_by(.taskId)[] | {taskId, hash}' { "taskId": "another#build", - "hash": "78b732d9478d9b83" + "hash": "ea00e25531db048f" } { "taskId": "my-app#build", - "hash": "550479ca3246010d" + "hash": "867bee2191fbd90c" } { "taskId": "util#build", - "hash": "d29ee2ca954217ef" + "hash": "6f4abe279ba198a8" } diff --git a/turborepo-tests/integration/tests/global-deps.t b/turborepo-tests/integration/tests/global-deps.t index d621740629779..a0adbd8b7ce4c 100644 --- a/turborepo-tests/integration/tests/global-deps.t +++ b/turborepo-tests/integration/tests/global-deps.t @@ -6,7 +6,7 @@ Run a build \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache miss, executing c3e42e9c9ba94cab + my-app:build: cache miss, executing 3292edbc955db609 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -18,7 +18,7 @@ Run a build \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache miss, executing ded57f1945fa82be + my-app:build: cache miss, executing 7a2d3560117367eb Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -29,7 +29,7 @@ Run a build \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache hit, suppressing logs ded57f1945fa82be + my-app:build: cache hit, suppressing logs 7a2d3560117367eb Tasks: 1 successful, 1 total Cached: 1 cached, 1 total diff --git a/turborepo-tests/integration/tests/global-env.t b/turborepo-tests/integration/tests/global-env.t index 89c0aebe90d26..378066107d3db 100644 --- a/turborepo-tests/integration/tests/global-env.t +++ b/turborepo-tests/integration/tests/global-env.t @@ -8,7 +8,7 @@ Setup \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache miss, executing 41b033e352a43533 + util:build: cache miss, executing fad2a643cb480b55 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -19,7 +19,7 @@ Setup \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache hit, suppressing logs 41b033e352a43533 + util:build: cache hit, suppressing logs fad2a643cb480b55 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -30,7 +30,7 @@ Setup \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache miss, executing 8b36aff0371ed688 + util:build: cache miss, executing a7c44af22f60539c Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -41,7 +41,7 @@ Setup \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache hit, suppressing logs 41b033e352a43533 + util:build: cache hit, suppressing logs fad2a643cb480b55 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -52,7 +52,7 @@ Setup \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache miss, executing b1d5cc042db323ed + util:build: cache miss, executing 18e70da6088a7985 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total diff --git a/turborepo-tests/integration/tests/persistent-dependencies/6-topological-unimplemented.t b/turborepo-tests/integration/tests/persistent-dependencies/6-topological-unimplemented.t index a817607a25b2a..495aac452831a 100644 --- a/turborepo-tests/integration/tests/persistent-dependencies/6-topological-unimplemented.t +++ b/turborepo-tests/integration/tests/persistent-dependencies/6-topological-unimplemented.t @@ -17,7 +17,7 @@ \xe2\x80\xa2 Packages in scope: app-a, pkg-a (esc) \xe2\x80\xa2 Running dev in 2 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - app-a:dev: cache miss, executing 80e89b04d985ccbc + app-a:dev: cache miss, executing 6d74f36653305cef app-a:dev: app-a:dev: > dev app-a:dev: > echo dev-app-a diff --git a/turborepo-tests/integration/tests/pkg-inference.t b/turborepo-tests/integration/tests/pkg-inference.t index 40832ad8e5b53..2406059a187fc 100644 --- a/turborepo-tests/integration/tests/pkg-inference.t +++ b/turborepo-tests/integration/tests/pkg-inference.t @@ -6,7 +6,7 @@ Setup \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache miss, executing 41b033e352a43533 + util:build: cache miss, executing fad2a643cb480b55 util:build: util:build: > build util:build: > echo building diff --git a/turborepo-tests/integration/tests/prune/composable-config.t b/turborepo-tests/integration/tests/prune/composable-config.t index a67674d6f91ec..e51dbef0c9bc9 100644 --- a/turborepo-tests/integration/tests/prune/composable-config.t +++ b/turborepo-tests/integration/tests/prune/composable-config.t @@ -11,7 +11,7 @@ Make sure that the internal util package is part of the prune output \xe2\x80\xa2 Packages in scope: docs, shared, util (esc) \xe2\x80\xa2 Running new-task in 3 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - docs:new-task: cache miss, executing 7e5957e9303be3e2 + docs:new-task: cache miss, executing 37946d5a79df43a8 docs:new-task: docs:new-task: > docs@ new-task .*out(\/|\\)apps(\/|\\)docs (re) docs:new-task: > echo building diff --git a/turborepo-tests/integration/tests/run-caching/excluded-inputs/excluded-inputs.t b/turborepo-tests/integration/tests/run-caching/excluded-inputs/excluded-inputs.t index 383f15d136b98..c0491c75503e6 100644 --- a/turborepo-tests/integration/tests/run-caching/excluded-inputs/excluded-inputs.t +++ b/turborepo-tests/integration/tests/run-caching/excluded-inputs/excluded-inputs.t @@ -9,7 +9,7 @@ Running build for my-app succeeds \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache miss, executing 87e69a7e18f039da + my-app:build: cache miss, executing 92e6e0fa25bd067f my-app:build: my-app:build: > build my-app:build: > echo building @@ -26,7 +26,7 @@ Update exluded file and try again \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache hit, replaying logs 87e69a7e18f039da + my-app:build: cache hit, replaying logs 92e6e0fa25bd067f my-app:build: my-app:build: > build my-app:build: > echo building diff --git a/turborepo-tests/integration/tests/run-caching/root-deps.t b/turborepo-tests/integration/tests/run-caching/root-deps.t new file mode 100644 index 0000000000000..2e3515840bbfb --- /dev/null +++ b/turborepo-tests/integration/tests/run-caching/root-deps.t @@ -0,0 +1,42 @@ +Setup + $ . ${TESTDIR}/../../../helpers/setup_integration_test.sh root_deps + +Warm the cache + $ ${TURBO} build --filter=another --output-logs=hash-only + \xe2\x80\xa2 Packages in scope: another (esc) + \xe2\x80\xa2 Running build in 1 packages (esc) + \xe2\x80\xa2 Remote caching disabled (esc) + another:build: cache miss, executing 22f33d1d910da7f2 + + Tasks: 1 successful, 1 total + Cached: 0 cached, 1 total + Time:\s+[.0-9]+m?s (re) + +Change a root internal dependency + $ touch packages/util/important.txt +All tasks should be a cache miss, even ones that don't depend on changed package + $ ${TURBO} build --filter=another --output-logs=hash-only + \xe2\x80\xa2 Packages in scope: another (esc) + \xe2\x80\xa2 Running build in 1 packages (esc) + \xe2\x80\xa2 Remote caching disabled (esc) + another:build: cache miss, executing 5dd1314cac1b01ff + + Tasks: 1 successful, 1 total + Cached: 0 cached, 1 total + Time:\s+[.0-9]+m?s (re) + + +Change a file that is git ignored + $ mkdir packages/util/dist + $ touch packages/util/dist/unused.txt +Cache hit since only tracked files contribute to root dep hash + $ ${TURBO} build --filter=another --output-logs=hash-only + \xe2\x80\xa2 Packages in scope: another (esc) + \xe2\x80\xa2 Running build in 1 packages (esc) + \xe2\x80\xa2 Remote caching disabled (esc) + another:build: cache hit, suppressing logs 5dd1314cac1b01ff + + Tasks: 1 successful, 1 total + Cached: 1 cached, 1 total + Time:\s*[\.0-9]+m?s >>> FULL TURBO (re) + diff --git a/turborepo-tests/integration/tests/run-logging/errors-only.t b/turborepo-tests/integration/tests/run-logging/errors-only.t index 08bb0f85c1c17..0bd53732a653c 100644 --- a/turborepo-tests/integration/tests/run-logging/errors-only.t +++ b/turborepo-tests/integration/tests/run-logging/errors-only.t @@ -37,7 +37,7 @@ Setup \xe2\x80\xa2 Packages in scope: app-a (esc) \xe2\x80\xa2 Running builderror in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - app-a:builderror: cache miss, executing 30379ede8c4fd252 + app-a:builderror: cache miss, executing e86e4a4ebfa716d6 app-a:builderror: app-a:builderror: > builderror app-a:builderror: > echo error-builderror-app-a && exit 1 @@ -67,7 +67,7 @@ Setup \xe2\x80\xa2 Packages in scope: app-a (esc) \xe2\x80\xa2 Running builderror2 in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - app-a:builderror2: cache miss, executing 29c91fda7cb5f934 + app-a:builderror2: cache miss, executing 3b92feb5fb5a32a5 app-a:builderror2: app-a:builderror2: > builderror2 app-a:builderror2: > echo error-builderror2-app-a && exit 1 diff --git a/turborepo-tests/integration/tests/run-logging/log-order-github.t b/turborepo-tests/integration/tests/run-logging/log-order-github.t index cff26d8894c0f..65bcdb3ea16f5 100644 --- a/turborepo-tests/integration/tests/run-logging/log-order-github.t +++ b/turborepo-tests/integration/tests/run-logging/log-order-github.t @@ -9,7 +9,7 @@ because otherwise prysk interprets them as multiline commands \xe2\x80\xa2 Running build in 2 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) ::group::my-app:build - cache bypass, force executing 15b8c7d115cd7403 + cache bypass, force executing 387aa1a04fa418fe >\sbuild (re) \>\secho building && sleep 1 && echo done (re) @@ -18,7 +18,7 @@ because otherwise prysk interprets them as multiline commands done ::endgroup:: ::group::util:build - cache bypass, force executing a5ccc37ed8b7b2df + cache bypass, force executing 348fb645686fa0b8 >\sbuild (re) \>\ssleep 0.5 && echo building && sleep 1 && echo completed (re) @@ -37,7 +37,7 @@ because otherwise prysk interprets them as multiline commands \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) ::group::util:build - util:build: cache bypass, force executing a5ccc37ed8b7b2df + util:build: cache bypass, force executing 348fb645686fa0b8 util:build: util:build: > build util:build: > sleep 0.5 && echo building && sleep 1 && echo completed @@ -57,7 +57,7 @@ Verify that errors are grouped properly \xe2\x80\xa2 Running fail in 2 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) \x1b[;31mutil:fail\x1b[;0m (esc) - cache miss, executing 778f804f3d3d75cd + cache miss, executing e53b8d17f063e6c0 \> fail (re) \> echo failing; exit 1 (re) diff --git a/turborepo-tests/integration/tests/run-logging/log-prefix.t b/turborepo-tests/integration/tests/run-logging/log-prefix.t index be851ec2cca03..6e6292f06590f 100644 --- a/turborepo-tests/integration/tests/run-logging/log-prefix.t +++ b/turborepo-tests/integration/tests/run-logging/log-prefix.t @@ -6,7 +6,7 @@ Setup \xe2\x80\xa2 Packages in scope: app-a (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - cache miss, executing e0140bf4d9fbed7a + cache miss, executing aa8bd45244bccb8b \> build (re) \> echo build-app-a (re) @@ -30,7 +30,7 @@ Setup \xe2\x80\xa2 Packages in scope: app-a (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - cache hit, replaying logs e0140bf4d9fbed7a + cache hit, replaying logs aa8bd45244bccb8b \> build (re) \> echo build-app-a (re) @@ -46,7 +46,7 @@ Setup \xe2\x80\xa2 Packages in scope: app-a (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - app-a:build: cache hit, replaying logs e0140bf4d9fbed7a + app-a:build: cache hit, replaying logs aa8bd45244bccb8b app-a:build: app-a:build: > build app-a:build: > echo build-app-a diff --git a/turborepo-tests/integration/tests/run-logging/verbosity.t b/turborepo-tests/integration/tests/run-logging/verbosity.t index f3c06b1c893f0..a683148b0ac1a 100644 --- a/turborepo-tests/integration/tests/run-logging/verbosity.t +++ b/turborepo-tests/integration/tests/run-logging/verbosity.t @@ -6,7 +6,7 @@ Verbosity level 1 \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache bypass, force executing 41b033e352a43533 + util:build: cache bypass, force executing fad2a643cb480b55 util:build: util:build: > build util:build: > echo building @@ -21,7 +21,7 @@ Verbosity level 1 \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache bypass, force executing 41b033e352a43533 + util:build: cache bypass, force executing fad2a643cb480b55 util:build: util:build: > build util:build: > echo building diff --git a/turborepo-tests/integration/tests/run-summary/discovery.t b/turborepo-tests/integration/tests/run-summary/discovery.t index afbed1f105701..a8e0895a43e37 100644 --- a/turborepo-tests/integration/tests/run-summary/discovery.t +++ b/turborepo-tests/integration/tests/run-summary/discovery.t @@ -6,7 +6,7 @@ Setup \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache miss, executing ed450f573b231cb7 + my-app:build: cache miss, executing 270f1ef47a80f1d1 my-app:build: my-app:build: > build my-app:build: > echo building diff --git a/turborepo-tests/integration/tests/run-summary/error.t b/turborepo-tests/integration/tests/run-summary/error.t index e37cee9198af1..1596e01d07bf5 100644 --- a/turborepo-tests/integration/tests/run-summary/error.t +++ b/turborepo-tests/integration/tests/run-summary/error.t @@ -32,7 +32,7 @@ Validate that we got a full task summary for the failed task with an error in .e "taskId": "my-app#maybefails", "task": "maybefails", "package": "my-app", - "hash": "5708afa4de2b80ea", + "hash": "e766224b19492c97", "inputs": { ".env.local": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", "package.json": "1746e0db2361085b5953a6a3beab08c24af5bc08" diff --git a/turborepo-tests/integration/tests/run/continue.t b/turborepo-tests/integration/tests/run/continue.t index 90df09f311b62..628d1731954b5 100644 --- a/turborepo-tests/integration/tests/run/continue.t +++ b/turborepo-tests/integration/tests/run/continue.t @@ -5,7 +5,7 @@ Run without --continue \xe2\x80\xa2 Packages in scope: my-app, other-app, some-lib (esc) \xe2\x80\xa2 Running build in 3 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - some-lib:build: cache miss, executing 6a27a9769c374e7b + some-lib:build: cache miss, executing 071e589156801650 some-lib:build: some-lib:build: > build some-lib:build: > exit 2 @@ -31,7 +31,7 @@ Run without --continue, and with only errors. \xe2\x80\xa2 Packages in scope: my-app, other-app, some-lib (esc) \xe2\x80\xa2 Running build in 3 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - some-lib:build: cache miss, executing 6a27a9769c374e7b + some-lib:build: cache miss, executing 071e589156801650 some-lib:build: some-lib:build: > build some-lib:build: > exit 2 @@ -56,7 +56,7 @@ Run with --continue \xe2\x80\xa2 Packages in scope: my-app, other-app, some-lib (esc) \xe2\x80\xa2 Running build in 3 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - some-lib:build: cache miss, executing 6a27a9769c374e7b + some-lib:build: cache miss, executing 071e589156801650 some-lib:build: some-lib:build: > build some-lib:build: > exit 2 @@ -66,7 +66,7 @@ Run with --continue some-lib:build: npm ERR! in workspace: some-lib some-lib:build: npm ERR! at location: (.*)(\/|\\)apps(\/|\\)some-lib (re) some-lib:build: command finished with error, but continuing... - other-app:build: cache miss, executing 39fcb4fcad874e05 + other-app:build: cache miss, executing f7d23d1c894c1f09 other-app:build: other-app:build: > build other-app:build: > exit 3 diff --git a/turborepo-tests/integration/tests/run/force.t b/turborepo-tests/integration/tests/run/force.t index 664a91a2eb18e..907cd37581f70 100644 --- a/turborepo-tests/integration/tests/run/force.t +++ b/turborepo-tests/integration/tests/run/force.t @@ -24,7 +24,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache miss, executing ed450f573b231cb7 + my-app:build: cache miss, executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -36,7 +36,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache bypass, force executing ed450f573b231cb7 + my-app:build: cache bypass, force executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -47,7 +47,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache bypass, force executing ed450f573b231cb7 + my-app:build: cache bypass, force executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -58,7 +58,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache hit, suppressing logs ed450f573b231cb7 + my-app:build: cache hit, suppressing logs 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -69,7 +69,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache bypass, force executing ed450f573b231cb7 + my-app:build: cache bypass, force executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -81,7 +81,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache hit, suppressing logs ed450f573b231cb7 + my-app:build: cache hit, suppressing logs 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -92,7 +92,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache bypass, force executing ed450f573b231cb7 + my-app:build: cache bypass, force executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -103,7 +103,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache hit, suppressing logs ed450f573b231cb7 + my-app:build: cache hit, suppressing logs 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -114,7 +114,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache bypass, force executing ed450f573b231cb7 + my-app:build: cache bypass, force executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -126,7 +126,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache hit, suppressing logs ed450f573b231cb7 + my-app:build: cache hit, suppressing logs 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -137,7 +137,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache bypass, force executing ed450f573b231cb7 + my-app:build: cache bypass, force executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -148,7 +148,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache hit, suppressing logs ed450f573b231cb7 + my-app:build: cache hit, suppressing logs 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -159,7 +159,7 @@ baseline to generate cache \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:build: cache bypass, force executing ed450f573b231cb7 + my-app:build: cache bypass, force executing 270f1ef47a80f1d1 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total diff --git a/turborepo-tests/integration/tests/run/gitignored-inputs.t b/turborepo-tests/integration/tests/run/gitignored-inputs.t index 347cd648c796d..f8d2c8c8826eb 100644 --- a/turborepo-tests/integration/tests/run/gitignored-inputs.t +++ b/turborepo-tests/integration/tests/run/gitignored-inputs.t @@ -16,7 +16,7 @@ Some helper functions to parse the summary file Just run the util package, it's simpler $ ${TURBO} run build --filter=util --output-logs=hash-only --summarize | grep "util:build: cache" - util:build: cache miss, executing ae2e852267f3b5c9 + util:build: cache miss, executing 355a92b6a1cc5f24 $ FIRST=$(/bin/ls .turbo/runs/*.json | head -n1) $ echo $(getSummaryTaskId $FIRST "util#build") | jq -r '.inputs."internal.txt"' @@ -30,7 +30,7 @@ Change the content of internal.txt Hash does not change, because it is gitignored $ ${TURBO} run build --filter=util --output-logs=hash-only --summarize | grep "util:build: cache" - util:build: cache miss, executing 117a08af942aa435 + util:build: cache miss, executing 511d34a1853ba4ab The internal.txt hash should be different from the one before $ SECOND=$(/bin/ls .turbo/runs/*.json | head -n1) diff --git a/turborepo-tests/integration/tests/run/globs.t b/turborepo-tests/integration/tests/run/globs.t index 7f3e956ed73c3..fa45e9ca276a6 100644 --- a/turborepo-tests/integration/tests/run/globs.t +++ b/turborepo-tests/integration/tests/run/globs.t @@ -5,7 +5,7 @@ Verify that input directory change causes cache miss \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache miss, executing de4d32c1d7909fd6 + util:build: cache miss, executing d5b281b8322da71e Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -16,7 +16,7 @@ Verify that input directory change causes cache miss \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache miss, executing 9dc5d552226836c8 + util:build: cache miss, executing 886797b8d9d1a464 Tasks: 1 successful, 1 total Cached: 0 cached, 1 total @@ -29,7 +29,7 @@ Verify that input directory change causes cache miss \xe2\x80\xa2 Packages in scope: util (esc) \xe2\x80\xa2 Running build in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache hit, suppressing logs 9dc5d552226836c8 + util:build: cache hit, suppressing logs 886797b8d9d1a464 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total diff --git a/turborepo-tests/integration/tests/run/one-script-error.t b/turborepo-tests/integration/tests/run/one-script-error.t index d26cc4b18b034..14bfd97f7f8cd 100644 --- a/turborepo-tests/integration/tests/run/one-script-error.t +++ b/turborepo-tests/integration/tests/run/one-script-error.t @@ -7,13 +7,13 @@ Note that npm reports any failed script as exit code 1, even though we "exit 2" \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running error in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:okay: cache miss, executing 730881de77077bd7 + my-app:okay: cache miss, executing 96496b6b9252855e my-app:okay: my-app:okay: > okay my-app:okay: > echo working my-app:okay: my-app:okay: working - my-app:error: cache miss, executing 6bcb083c31200821 + my-app:error: cache miss, executing 470e35f414b048e3 my-app:error: my-app:error: > error my-app:error: > exit 2 @@ -38,13 +38,13 @@ Make sure error isn't cached \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running error in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:okay: cache hit, replaying logs 730881de77077bd7 + my-app:okay: cache hit, replaying logs 96496b6b9252855e my-app:okay: my-app:okay: > okay my-app:okay: > echo working my-app:okay: my-app:okay: working - my-app:error: cache miss, executing 6bcb083c31200821 + my-app:error: cache miss, executing 470e35f414b048e3 my-app:error: my-app:error: > error my-app:error: > exit 2 @@ -69,13 +69,13 @@ Make sure error code isn't swallowed with continue \xe2\x80\xa2 Packages in scope: my-app (esc) \xe2\x80\xa2 Running okay2 in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - my-app:okay: cache hit, replaying logs 730881de77077bd7 + my-app:okay: cache hit, replaying logs 96496b6b9252855e my-app:okay: my-app:okay: > okay my-app:okay: > echo working my-app:okay: my-app:okay: working - my-app:error: cache miss, executing 6bcb083c31200821 + my-app:error: cache miss, executing 470e35f414b048e3 my-app:error: my-app:error: > error my-app:error: > exit 2 @@ -85,7 +85,7 @@ Make sure error code isn't swallowed with continue my-app:error: npm ERR! in workspace: my-app my-app:error: npm ERR! at location: .*apps(\/|\\)my-app (re) my-app:error: command finished with error, but continuing... - my-app:okay2: cache miss, executing c9df11d745bab324 + my-app:okay2: cache miss, executing 17aa4a3dcf0a74a6 my-app:okay2: my-app:okay2: > okay2 my-app:okay2: > echo working diff --git a/turborepo-tests/integration/tests/run/single-package/dry-run.t b/turborepo-tests/integration/tests/run/single-package/dry-run.t index 1958631040661..058808becccc7 100644 --- a/turborepo-tests/integration/tests/run/single-package/dry-run.t +++ b/turborepo-tests/integration/tests/run/single-package/dry-run.t @@ -17,7 +17,7 @@ Check Tasks to Run build Task = build\s* (re) - Hash = 4047a6e65d7dafef + Hash = 81a933c332d3f388 Cached (Local) = false Cached (Remote) = false Command = echo building > foo.txt diff --git a/turborepo-tests/integration/tests/run/single-package/no-config.t b/turborepo-tests/integration/tests/run/single-package/no-config.t index f8173533271e4..e068bcd506127 100644 --- a/turborepo-tests/integration/tests/run/single-package/no-config.t +++ b/turborepo-tests/integration/tests/run/single-package/no-config.t @@ -19,7 +19,7 @@ Check Tasks to Run build Task = build\s* (re) - Hash = a6da7b8ddbe2bb84 + Hash = 12c592ddc0e53a5c Cached (Local) = false Cached (Remote) = false Command = echo building > foo.txt @@ -50,7 +50,7 @@ Run real once $ ${TURBO} run build \xe2\x80\xa2 Running build (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache bypass, force executing a6da7b8ddbe2bb84 + build: cache bypass, force executing 12c592ddc0e53a5c build: build: > build build: > echo building > foo.txt @@ -64,7 +64,7 @@ Run a second time, verify no caching because there is no config $ ${TURBO} run build \xe2\x80\xa2 Running build (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache bypass, force executing a6da7b8ddbe2bb84 + build: cache bypass, force executing 12c592ddc0e53a5c build: build: > build build: > echo building > foo.txt diff --git a/turborepo-tests/integration/tests/run/single-package/run-yarn.t b/turborepo-tests/integration/tests/run/single-package/run-yarn.t index 31ab878c2b0c4..29ac054d46fed 100644 --- a/turborepo-tests/integration/tests/run/single-package/run-yarn.t +++ b/turborepo-tests/integration/tests/run/single-package/run-yarn.t @@ -5,7 +5,7 @@ Check $ ${TURBO} run build \xe2\x80\xa2 Running build (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache miss, executing ed245ad45c9be274 + build: cache miss, executing 34db97233d5773b8 build: yarn run v1.22.17 build: warning package.json: No license field build: $ echo building > foo.txt @@ -18,7 +18,7 @@ Check $ ${TURBO} run build \xe2\x80\xa2 Running build (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache hit, replaying logs ed245ad45c9be274 + build: cache hit, replaying logs 34db97233d5773b8 build: yarn run v1.22.17 build: warning package.json: No license field build: $ echo building > foo.txt diff --git a/turborepo-tests/integration/tests/run/single-package/run.t b/turborepo-tests/integration/tests/run/single-package/run.t index f83c8605f253e..ca40d5e418bce 100644 --- a/turborepo-tests/integration/tests/run/single-package/run.t +++ b/turborepo-tests/integration/tests/run/single-package/run.t @@ -5,7 +5,7 @@ Check $ ${TURBO} run build \xe2\x80\xa2 Running build (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache miss, executing 4047a6e65d7dafef + build: cache miss, executing 81a933c332d3f388 build: build: > build build: > echo building > foo.txt @@ -22,7 +22,7 @@ Run a second time, verify caching works because there is a config $ ${TURBO} run build \xe2\x80\xa2 Running build (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache hit, replaying logs 4047a6e65d7dafef + build: cache hit, replaying logs 81a933c332d3f388 build: build: > build build: > echo building > foo.txt diff --git a/turborepo-tests/integration/tests/run/single-package/with-deps-dry-run.t b/turborepo-tests/integration/tests/run/single-package/with-deps-dry-run.t index 4c8ba3e3ae2e3..077d7a2a8d3c1 100644 --- a/turborepo-tests/integration/tests/run/single-package/with-deps-dry-run.t +++ b/turborepo-tests/integration/tests/run/single-package/with-deps-dry-run.t @@ -17,7 +17,7 @@ Check Tasks to Run build Task = build\s* (re) - Hash = 4047a6e65d7dafef + Hash = 81a933c332d3f388 Cached (Local) = false Cached (Remote) = false Command = echo building > foo.txt @@ -35,7 +35,7 @@ Check Framework = test Task = test\s* (re) - Hash = 89d72e7337505ef6 + Hash = 785d8ef1115bde3b Cached (Local) = false Cached (Remote) = false Command = cat foo.txt diff --git a/turborepo-tests/integration/tests/run/single-package/with-deps-run.t b/turborepo-tests/integration/tests/run/single-package/with-deps-run.t index 9617532f902f5..7de8cf74108b4 100644 --- a/turborepo-tests/integration/tests/run/single-package/with-deps-run.t +++ b/turborepo-tests/integration/tests/run/single-package/with-deps-run.t @@ -5,12 +5,12 @@ Check $ ${TURBO} run test \xe2\x80\xa2 Running test (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache miss, executing 4047a6e65d7dafef + build: cache miss, executing 81a933c332d3f388 build: build: > build build: > echo building > foo.txt build: - test: cache miss, executing 89d72e7337505ef6 + test: cache miss, executing 785d8ef1115bde3b test: test: > test test: > cat foo.txt @@ -25,12 +25,12 @@ Run a second time, verify caching works because there is a config $ ${TURBO} run test \xe2\x80\xa2 Running test (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache hit, replaying logs 4047a6e65d7dafef + build: cache hit, replaying logs 81a933c332d3f388 build: build: > build build: > echo building > foo.txt build: - test: cache hit, replaying logs 89d72e7337505ef6 + test: cache hit, replaying logs 785d8ef1115bde3b test: test: > test test: > cat foo.txt @@ -45,8 +45,8 @@ Run with --output-logs=hash-only $ ${TURBO} run test --output-logs=hash-only \xe2\x80\xa2 Running test (esc) \xe2\x80\xa2 Remote caching disabled (esc) - build: cache hit, suppressing logs 4047a6e65d7dafef - test: cache hit, suppressing logs 89d72e7337505ef6 + build: cache hit, suppressing logs 81a933c332d3f388 + test: cache hit, suppressing logs 785d8ef1115bde3b Tasks: 2 successful, 2 total Cached: 2 cached, 2 total diff --git a/turborepo-tests/integration/tests/task-dependencies/overwriting.t b/turborepo-tests/integration/tests/task-dependencies/overwriting.t index d22aac7241c1f..dc8c2b0054128 100644 --- a/turborepo-tests/integration/tests/task-dependencies/overwriting.t +++ b/turborepo-tests/integration/tests/task-dependencies/overwriting.t @@ -11,7 +11,7 @@ Test # workspace-a#generate ran $ cat tmp.log | grep "workspace-a:generate" - workspace-a:generate: cache miss, executing a7a2aa3909d7b0d8 + workspace-a:generate: cache miss, executing 8ee333277b4c00a0 workspace-a:generate: workspace-a:generate: > generate workspace-a:generate: > echo generate-workspace-a @@ -19,7 +19,7 @@ Test workspace-a:generate: generate-workspace-a workspace-a#build ran $ cat tmp.log | grep "workspace-a:build" - workspace-a:build: cache miss, executing 9ccc135d65c4a495 + workspace-a:build: cache miss, executing 886936e13f48ddb8 workspace-a:build: workspace-a:build: > build workspace-a:build: > echo build-workspace-a @@ -32,7 +32,7 @@ workspace-b#generate DID NOT run workspace-b#build ran $ cat tmp.log | grep "workspace-b:build" - workspace-b:build: cache miss, executing 02c3fac1077fc71c + workspace-b:build: cache miss, executing b10c1a5197eafc5d workspace-b:build: workspace-b:build: > build workspace-b:build: > echo build-workspace-b diff --git a/turborepo-tests/integration/tests/task-dependencies/root-workspace.t b/turborepo-tests/integration/tests/task-dependencies/root-workspace.t index 0e1817ce91b0f..f6d4d34a9cfe2 100644 --- a/turborepo-tests/integration/tests/task-dependencies/root-workspace.t +++ b/turborepo-tests/integration/tests/task-dependencies/root-workspace.t @@ -5,13 +5,13 @@ This tests asserts that root tasks can depend on workspace#task \xe2\x80\xa2 Packages in scope: //, lib-a (esc) \xe2\x80\xa2 Running mytask in 2 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - lib-a:build: cache miss, executing 113b85e31603db1c + lib-a:build: cache miss, executing 5b761e7ac20ce0a6 lib-a:build: lib-a:build: > build lib-a:build: > echo build-lib-a lib-a:build: lib-a:build: build-lib-a - //:mytask: cache miss, executing 79bfd20384932bbb + //:mytask: cache miss, executing 8a3a7db901b3e8cf //:mytask: //:mytask: > mytask //:mytask: > echo root-mytask diff --git a/turborepo-tests/integration/tests/task-dependencies/topological.t b/turborepo-tests/integration/tests/task-dependencies/topological.t index 07cd1a4c406c8..a6bcd2bd97ff0 100644 --- a/turborepo-tests/integration/tests/task-dependencies/topological.t +++ b/turborepo-tests/integration/tests/task-dependencies/topological.t @@ -6,13 +6,13 @@ Check my-app#build output \xe2\x80\xa2 Packages in scope: //, my-app, util (esc) \xe2\x80\xa2 Running build in 3 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - util:build: cache miss, executing fc4462f9a33623c2 + util:build: cache miss, executing a4a05b282e52a021 util:build: util:build: > build util:build: > echo building util:build: util:build: building - my-app:build: cache miss, executing bd5855867ade972a + my-app:build: cache miss, executing 0e31fb7bb214a760 my-app:build: my-app:build: > build my-app:build: > echo building diff --git a/turborepo-tests/integration/tests/workspace-configs/add-keys.t b/turborepo-tests/integration/tests/workspace-configs/add-keys.t index c02b733667fe3..2626a5d273936 100644 --- a/turborepo-tests/integration/tests/workspace-configs/add-keys.t +++ b/turborepo-tests/integration/tests/workspace-configs/add-keys.t @@ -14,13 +14,13 @@ Setup \xe2\x80\xa2 Packages in scope: add-keys (esc) \xe2\x80\xa2 Running add-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - add-keys:add-keys-underlying-task: cache miss, executing b1b44ef21c97573a + add-keys:add-keys-underlying-task: cache miss, executing 2bd958e3fcfce743 add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: > add-keys-underlying-task add-keys:add-keys-underlying-task: > echo running-add-keys-underlying-task add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: running-add-keys-underlying-task - add-keys:add-keys-task: cache miss, executing 900c42a3c99fcb70 + add-keys:add-keys-task: cache miss, executing a11556f24e8544ee add-keys:add-keys-task: add-keys:add-keys-task: > add-keys-task add-keys:add-keys-task: > echo running-add-keys-task > out/foo.min.txt @@ -48,13 +48,13 @@ Setup \xe2\x80\xa2 Packages in scope: add-keys (esc) \xe2\x80\xa2 Running add-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - add-keys:add-keys-underlying-task: cache hit, replaying logs b1b44ef21c97573a + add-keys:add-keys-underlying-task: cache hit, replaying logs 2bd958e3fcfce743 add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: > add-keys-underlying-task add-keys:add-keys-underlying-task: > echo running-add-keys-underlying-task add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: running-add-keys-underlying-task - add-keys:add-keys-task: cache hit, suppressing logs 900c42a3c99fcb70 + add-keys:add-keys-task: cache hit, suppressing logs a11556f24e8544ee Tasks: 2 successful, 2 total Cached: 2 cached, 2 total @@ -66,13 +66,13 @@ Setup \xe2\x80\xa2 Packages in scope: add-keys (esc) \xe2\x80\xa2 Running add-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - add-keys:add-keys-underlying-task: cache miss, executing 8e33b91a6ca8fcd4 + add-keys:add-keys-underlying-task: cache miss, executing 0ab311c4d79c6364 add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: > add-keys-underlying-task add-keys:add-keys-underlying-task: > echo running-add-keys-underlying-task add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: running-add-keys-underlying-task - add-keys:add-keys-task: cache miss, executing c99ca18c10380fb8 + add-keys:add-keys-task: cache miss, executing f996028b8b4e387b add-keys:add-keys-task: add-keys:add-keys-task: > add-keys-task add-keys:add-keys-task: > echo running-add-keys-task > out/foo.min.txt @@ -87,13 +87,13 @@ Setup \xe2\x80\xa2 Packages in scope: add-keys (esc) \xe2\x80\xa2 Running add-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - add-keys:add-keys-underlying-task: cache hit, replaying logs 8e33b91a6ca8fcd4 + add-keys:add-keys-underlying-task: cache hit, replaying logs 0ab311c4d79c6364 add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: > add-keys-underlying-task add-keys:add-keys-underlying-task: > echo running-add-keys-underlying-task add-keys:add-keys-underlying-task: add-keys:add-keys-underlying-task: running-add-keys-underlying-task - add-keys:add-keys-task: cache miss, executing de9692b5d6414208 + add-keys:add-keys-task: cache miss, executing 669ea43ab8c0fc93 add-keys:add-keys-task: add-keys:add-keys-task: > add-keys-task add-keys:add-keys-task: > echo running-add-keys-task > out/foo.min.txt diff --git a/turborepo-tests/integration/tests/workspace-configs/add-tasks.t b/turborepo-tests/integration/tests/workspace-configs/add-tasks.t index 00b9c9840e405..446fdfc632b72 100644 --- a/turborepo-tests/integration/tests/workspace-configs/add-tasks.t +++ b/turborepo-tests/integration/tests/workspace-configs/add-tasks.t @@ -5,7 +5,7 @@ Setup \xe2\x80\xa2 Packages in scope: add-tasks (esc) \xe2\x80\xa2 Running added-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - add-tasks:added-task: cache miss, executing f0fda27365e9306b + add-tasks:added-task: cache miss, executing 86d698d4e34329fd add-tasks:added-task: add-tasks:added-task: > added-task add-tasks:added-task: > echo running-added-task > out/foo.min.txt diff --git a/turborepo-tests/integration/tests/workspace-configs/cache.t b/turborepo-tests/integration/tests/workspace-configs/cache.t index c77c19c52199f..cc37a77a089ee 100644 --- a/turborepo-tests/integration/tests/workspace-configs/cache.t +++ b/turborepo-tests/integration/tests/workspace-configs/cache.t @@ -13,7 +13,7 @@ This test covers: \xe2\x80\xa2 Packages in scope: cached (esc) \xe2\x80\xa2 Running cached-task-1 in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - cached:cached-task-1: cache miss, executing aa4b3344d5e068e0 + cached:cached-task-1: cache miss, executing a49d6b89949c7afa cached:cached-task-1: cached:cached-task-1: > cached-task-1 cached:cached-task-1: > echo cached-task-1 > out/foo.min.txt @@ -38,7 +38,7 @@ This test covers: \xe2\x80\xa2 Packages in scope: cached (esc) \xe2\x80\xa2 Running cached-task-2 in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - cached:cached-task-2: cache bypass, force executing 4a1c738de315d340 + cached:cached-task-2: cache bypass, force executing 44fd51a101b8f481 cached:cached-task-2: cached:cached-task-2: > cached-task-2 cached:cached-task-2: > echo cached-task-2 > out/foo.min.txt @@ -60,7 +60,7 @@ no `cache` config in root, cache:false in workspace \xe2\x80\xa2 Packages in scope: cached (esc) \xe2\x80\xa2 Running cached-task-3 in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - cached:cached-task-3: cache bypass, force executing 53e08724d086baa4 + cached:cached-task-3: cache bypass, force executing c0043d1b0a723064 cached:cached-task-3: cached:cached-task-3: > cached-task-3 cached:cached-task-3: > echo cached-task-3 > out/foo.min.txt @@ -84,7 +84,7 @@ we already have a workspace that doesn't have a config \xe2\x80\xa2 Packages in scope: missing-workspace-config (esc) \xe2\x80\xa2 Running cached-task-4 in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - missing-workspace-config:cached-task-4: cache bypass, force executing b18fb0016b2ba646 + missing-workspace-config:cached-task-4: cache bypass, force executing 991b90e398c3e30b missing-workspace-config:cached-task-4: missing-workspace-config:cached-task-4: > cached-task-4 missing-workspace-config:cached-task-4: > echo cached-task-4 > out/foo.min.txt diff --git a/turborepo-tests/integration/tests/workspace-configs/config-change.t b/turborepo-tests/integration/tests/workspace-configs/config-change.t index 157c11803181b..9841d8cccfcb3 100644 --- a/turborepo-tests/integration/tests/workspace-configs/config-change.t +++ b/turborepo-tests/integration/tests/workspace-configs/config-change.t @@ -3,13 +3,13 @@ Setup # 1. First run, check the hash $ ${TURBO} run config-change-task --filter=config-change --dry=json | jq .tasks[0].hash - "20a4384e7b8a0cdd" + "d93bbb973d5db9f1" 2. Run again and assert task hash stays the same $ ${TURBO} run config-change-task --filter=config-change --dry=json | jq .tasks[0].hash - "20a4384e7b8a0cdd" + "d93bbb973d5db9f1" 3. Change turbo.json and assert that hash changes $ cp $TARGET_DIR/apps/config-change/turbo-changed.json $TARGET_DIR/apps/config-change/turbo.json $ ${TURBO} run config-change-task --filter=config-change --dry=json | jq .tasks[0].hash - "95ceb90873e75c02" + "cece46842b2454fe" diff --git a/turborepo-tests/integration/tests/workspace-configs/cross-workspace.t b/turborepo-tests/integration/tests/workspace-configs/cross-workspace.t index 094ae62b38636..bd22b9c61292a 100644 --- a/turborepo-tests/integration/tests/workspace-configs/cross-workspace.t +++ b/turborepo-tests/integration/tests/workspace-configs/cross-workspace.t @@ -4,13 +4,13 @@ Setup \xe2\x80\xa2 Packages in scope: cross-workspace (esc) \xe2\x80\xa2 Running cross-workspace-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - blank-pkg:cross-workspace-underlying-task: cache miss, executing 48f39663b18e630a + blank-pkg:cross-workspace-underlying-task: cache miss, executing 2ca5991c80f91ba1 blank-pkg:cross-workspace-underlying-task: blank-pkg:cross-workspace-underlying-task: > cross-workspace-underlying-task blank-pkg:cross-workspace-underlying-task: > echo cross-workspace-underlying-task from blank-pkg blank-pkg:cross-workspace-underlying-task: blank-pkg:cross-workspace-underlying-task: cross-workspace-underlying-task from blank-pkg - cross-workspace:cross-workspace-task: cache miss, executing a78fae9c6961965b + cross-workspace:cross-workspace-task: cache miss, executing d94b9c3284307ca2 cross-workspace:cross-workspace-task: cross-workspace:cross-workspace-task: > cross-workspace-task cross-workspace:cross-workspace-task: > echo cross-workspace-task diff --git a/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config-deps.t b/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config-deps.t index ba202ca405684..15a2dafd8f33b 100644 --- a/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config-deps.t +++ b/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config-deps.t @@ -15,14 +15,14 @@ Setup \xe2\x80\xa2 Remote caching disabled (esc) $ cat tmp.log | grep "missing-workspace-config:missing-workspace-config-task-with-deps" - missing-workspace-config:missing-workspace-config-task-with-deps: cache miss, executing 41733826c1f80f57 + missing-workspace-config:missing-workspace-config-task-with-deps: cache miss, executing ddbc8e9c98c1613a missing-workspace-config:missing-workspace-config-task-with-deps: missing-workspace-config:missing-workspace-config-task-with-deps: > missing-workspace-config-task-with-deps missing-workspace-config:missing-workspace-config-task-with-deps: > echo running-missing-workspace-config-task-with-deps > out/foo.min.txt missing-workspace-config:missing-workspace-config-task-with-deps: $ cat tmp.log | grep "missing-workspace-config:missing-workspace-config-underlying-task" - missing-workspace-config:missing-workspace-config-underlying-task: cache miss, executing 2cfd313fc94ee8b6 + missing-workspace-config:missing-workspace-config-underlying-task: cache miss, executing 7804b721631ec9dc missing-workspace-config:missing-workspace-config-underlying-task: missing-workspace-config:missing-workspace-config-underlying-task: > missing-workspace-config-underlying-task missing-workspace-config:missing-workspace-config-underlying-task: > echo running-missing-workspace-config-underlying-task @@ -30,7 +30,7 @@ Setup missing-workspace-config:missing-workspace-config-underlying-task: running-missing-workspace-config-underlying-task $ cat tmp.log | grep "blank-pkg:missing-workspace-config-underlying-topo-task" - blank-pkg:missing-workspace-config-underlying-topo-task: cache miss, executing acee90d9ccd6adb5 + blank-pkg:missing-workspace-config-underlying-topo-task: cache miss, executing 2ee83ef8fa218e5b blank-pkg:missing-workspace-config-underlying-topo-task: blank-pkg:missing-workspace-config-underlying-topo-task: > missing-workspace-config-underlying-topo-task blank-pkg:missing-workspace-config-underlying-topo-task: > echo missing-workspace-config-underlying-topo-task from blank-pkg diff --git a/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config.t b/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config.t index 5069d93f08b6e..466cb0c3013f8 100644 --- a/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config.t +++ b/turborepo-tests/integration/tests/workspace-configs/missing-workspace-config.t @@ -11,7 +11,7 @@ Setup \xe2\x80\xa2 Packages in scope: missing-workspace-config (esc) \xe2\x80\xa2 Running missing-workspace-config-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - missing-workspace-config:missing-workspace-config-task: cache miss, executing 9033f2738d479c41 + missing-workspace-config:missing-workspace-config-task: cache miss, executing f9dcb73efb6c5269 missing-workspace-config:missing-workspace-config-task: missing-workspace-config:missing-workspace-config-task: > missing-workspace-config-task missing-workspace-config:missing-workspace-config-task: > echo running-missing-workspace-config-task > out/foo.min.txt @@ -33,7 +33,7 @@ Setup \xe2\x80\xa2 Packages in scope: missing-workspace-config (esc) \xe2\x80\xa2 Running missing-workspace-config-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - missing-workspace-config:missing-workspace-config-task: cache hit, suppressing logs 9033f2738d479c41 + missing-workspace-config:missing-workspace-config-task: cache hit, suppressing logs f9dcb73efb6c5269 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -45,7 +45,7 @@ Setup \xe2\x80\xa2 Packages in scope: missing-workspace-config (esc) \xe2\x80\xa2 Running missing-workspace-config-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - missing-workspace-config:missing-workspace-config-task: cache miss, executing 089b7a4154e2247c + missing-workspace-config:missing-workspace-config-task: cache miss, executing a7bd666ff568b7ac missing-workspace-config:missing-workspace-config-task: missing-workspace-config:missing-workspace-config-task: > missing-workspace-config-task missing-workspace-config:missing-workspace-config-task: > echo running-missing-workspace-config-task > out/foo.min.txt @@ -62,7 +62,7 @@ Setup \xe2\x80\xa2 Packages in scope: missing-workspace-config (esc) \xe2\x80\xa2 Running missing-workspace-config-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - missing-workspace-config:missing-workspace-config-task: cache hit, suppressing logs 089b7a4154e2247c + missing-workspace-config:missing-workspace-config-task: cache hit, suppressing logs a7bd666ff568b7ac Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -73,7 +73,7 @@ Setup \xe2\x80\xa2 Packages in scope: missing-workspace-config (esc) \xe2\x80\xa2 Running missing-workspace-config-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - missing-workspace-config:missing-workspace-config-task: cache miss, executing b0dd739b01bd5c0f + missing-workspace-config:missing-workspace-config-task: cache miss, executing 44b2829e0f461fcc missing-workspace-config:missing-workspace-config-task: missing-workspace-config:missing-workspace-config-task: > missing-workspace-config-task missing-workspace-config:missing-workspace-config-task: > echo running-missing-workspace-config-task > out/foo.min.txt @@ -89,7 +89,7 @@ Setup \xe2\x80\xa2 Packages in scope: missing-workspace-config (esc) \xe2\x80\xa2 Running cached-task-4 in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - missing-workspace-config:cached-task-4: cache bypass, force executing 68b4a1bc2bbfe5d8 + missing-workspace-config:cached-task-4: cache bypass, force executing 02705cb19702f9db missing-workspace-config:cached-task-4: missing-workspace-config:cached-task-4: > cached-task-4 missing-workspace-config:cached-task-4: > echo cached-task-4 > out/foo.min.txt diff --git a/turborepo-tests/integration/tests/workspace-configs/omit-keys-deps.t b/turborepo-tests/integration/tests/workspace-configs/omit-keys-deps.t index e6250b669be04..5f8d9283c1a02 100644 --- a/turborepo-tests/integration/tests/workspace-configs/omit-keys-deps.t +++ b/turborepo-tests/integration/tests/workspace-configs/omit-keys-deps.t @@ -15,14 +15,14 @@ Setup \xe2\x80\xa2 Running omit-keys-task-with-deps in 1 packages (esc) $ cat tmp.log | grep "omit-keys:omit-keys-task-with-deps" - omit-keys:omit-keys-task-with-deps: cache miss, executing bdb68ffb10d89fca + omit-keys:omit-keys-task-with-deps: cache miss, executing 1554356833ff5f4b omit-keys:omit-keys-task-with-deps: omit-keys:omit-keys-task-with-deps: > omit-keys-task-with-deps omit-keys:omit-keys-task-with-deps: > echo running-omit-keys-task-with-deps > out/foo.min.txt omit-keys:omit-keys-task-with-deps: $ cat tmp.log | grep "omit-keys:omit-keys-underlying-task" - omit-keys:omit-keys-underlying-task: cache miss, executing f61e962fa122bb3b + omit-keys:omit-keys-underlying-task: cache miss, executing a789ec01db5a0976 omit-keys:omit-keys-underlying-task: omit-keys:omit-keys-underlying-task: > omit-keys-underlying-task omit-keys:omit-keys-underlying-task: > echo running-omit-keys-underlying-task @@ -30,7 +30,7 @@ Setup omit-keys:omit-keys-underlying-task: running-omit-keys-underlying-task $ cat tmp.log | grep "blank-pkg:omit-keys-underlying-topo-task" - blank-pkg:omit-keys-underlying-topo-task: cache miss, executing 7e41e6d75d5fcaa1 + blank-pkg:omit-keys-underlying-topo-task: cache miss, executing f7bdaf1949934066 blank-pkg:omit-keys-underlying-topo-task: blank-pkg:omit-keys-underlying-topo-task: > omit-keys-underlying-topo-task blank-pkg:omit-keys-underlying-topo-task: > echo omit-keys-underlying-topo-task from blank-pkg diff --git a/turborepo-tests/integration/tests/workspace-configs/omit-keys.t b/turborepo-tests/integration/tests/workspace-configs/omit-keys.t index 03677fedba919..b4b7e349852c9 100644 --- a/turborepo-tests/integration/tests/workspace-configs/omit-keys.t +++ b/turborepo-tests/integration/tests/workspace-configs/omit-keys.t @@ -14,7 +14,7 @@ Setup \xe2\x80\xa2 Packages in scope: omit-keys (esc) \xe2\x80\xa2 Running omit-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - omit-keys:omit-keys-task: cache miss, executing 7720930a8a9e9832 + omit-keys:omit-keys-task: cache miss, executing 2275653d6cc837ea omit-keys:omit-keys-task: omit-keys:omit-keys-task: > omit-keys-task omit-keys:omit-keys-task: > echo running-omit-keys-task > out/foo.min.txt @@ -36,7 +36,7 @@ Setup \xe2\x80\xa2 Packages in scope: omit-keys (esc) \xe2\x80\xa2 Running omit-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - omit-keys:omit-keys-task: cache hit, suppressing logs 7720930a8a9e9832 + omit-keys:omit-keys-task: cache hit, suppressing logs 2275653d6cc837ea Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -48,7 +48,7 @@ Setup \xe2\x80\xa2 Packages in scope: omit-keys (esc) \xe2\x80\xa2 Running omit-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - omit-keys:omit-keys-task: cache miss, executing 3a68017c72f94e2f + omit-keys:omit-keys-task: cache miss, executing 4b42c9ab61970715 omit-keys:omit-keys-task: omit-keys:omit-keys-task: > omit-keys-task omit-keys:omit-keys-task: > echo running-omit-keys-task > out/foo.min.txt @@ -65,7 +65,7 @@ Setup \xe2\x80\xa2 Packages in scope: omit-keys (esc) \xe2\x80\xa2 Running omit-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - omit-keys:omit-keys-task: cache hit, suppressing logs 3a68017c72f94e2f + omit-keys:omit-keys-task: cache hit, suppressing logs 4b42c9ab61970715 Tasks: 1 successful, 1 total Cached: 1 cached, 1 total @@ -76,7 +76,7 @@ Setup \xe2\x80\xa2 Packages in scope: omit-keys (esc) \xe2\x80\xa2 Running omit-keys-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - omit-keys:omit-keys-task: cache miss, executing f0b1da3da9634589 + omit-keys:omit-keys-task: cache miss, executing f79224ef709d0347 omit-keys:omit-keys-task: omit-keys:omit-keys-task: > omit-keys-task omit-keys:omit-keys-task: > echo running-omit-keys-task > out/foo.min.txt diff --git a/turborepo-tests/integration/tests/workspace-configs/override-values-deps.t b/turborepo-tests/integration/tests/workspace-configs/override-values-deps.t index b798ff8cdb17d..44bff3f544698 100644 --- a/turborepo-tests/integration/tests/workspace-configs/override-values-deps.t +++ b/turborepo-tests/integration/tests/workspace-configs/override-values-deps.t @@ -12,7 +12,7 @@ Setup \xe2\x80\xa2 Packages in scope: override-values (esc) \xe2\x80\xa2 Running override-values-task-with-deps in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - override-values:override-values-task-with-deps: cache miss, executing 00e16c342cfa94ec + override-values:override-values-task-with-deps: cache miss, executing 1a68f7b5fcfe887e override-values:override-values-task-with-deps: override-values:override-values-task-with-deps: > override-values-task-with-deps override-values:override-values-task-with-deps: > echo running-override-values-task-with-deps > out/foo.min.txt diff --git a/turborepo-tests/integration/tests/workspace-configs/override-values.t b/turborepo-tests/integration/tests/workspace-configs/override-values.t index 8cbdaa60b0c31..9c2639bdd0073 100644 --- a/turborepo-tests/integration/tests/workspace-configs/override-values.t +++ b/turborepo-tests/integration/tests/workspace-configs/override-values.t @@ -11,7 +11,7 @@ Setup \xe2\x80\xa2 Packages in scope: override-values (esc) \xe2\x80\xa2 Running override-values-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - override-values:override-values-task: cache miss, executing ead3f3edd38fc1fd + override-values:override-values-task: cache miss, executing 30f06dcaf1586c63 override-values:override-values-task: override-values:override-values-task: > override-values-task override-values:override-values-task: > echo running-override-values-task > lib/bar.min.txt @@ -36,7 +36,7 @@ Setup \xe2\x80\xa2 Packages in scope: override-values (esc) \xe2\x80\xa2 Running override-values-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - override-values:override-values-task: cache hit, replaying logs ead3f3edd38fc1fd + override-values:override-values-task: cache hit, replaying logs 30f06dcaf1586c63 override-values:override-values-task: override-values:override-values-task: > override-values-task override-values:override-values-task: > echo running-override-values-task > lib/bar.min.txt @@ -55,7 +55,7 @@ Setup \xe2\x80\xa2 Packages in scope: override-values (esc) \xe2\x80\xa2 Running override-values-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - override-values:override-values-task: cache miss, executing 8b11eb45f619dba5 + override-values:override-values-task: cache miss, executing 9d9fe6991167ac4d override-values:override-values-task: override-values:override-values-task: > override-values-task override-values:override-values-task: > echo running-override-values-task > lib/bar.min.txt @@ -71,7 +71,7 @@ Setup \xe2\x80\xa2 Packages in scope: override-values (esc) \xe2\x80\xa2 Running override-values-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - override-values:override-values-task: cache hit, replaying logs 8b11eb45f619dba5 + override-values:override-values-task: cache hit, replaying logs 9d9fe6991167ac4d override-values:override-values-task: override-values:override-values-task: > override-values-task override-values:override-values-task: > echo running-override-values-task > lib/bar.min.txt @@ -86,7 +86,7 @@ Setup \xe2\x80\xa2 Packages in scope: override-values (esc) \xe2\x80\xa2 Running override-values-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - override-values:override-values-task: cache miss, executing 50fae434a20ed36e + override-values:override-values-task: cache miss, executing 6e7cf8bdd5c83b50 override-values:override-values-task: override-values:override-values-task: > override-values-task override-values:override-values-task: > echo running-override-values-task > lib/bar.min.txt @@ -101,7 +101,7 @@ Setup \xe2\x80\xa2 Packages in scope: override-values (esc) \xe2\x80\xa2 Running override-values-task in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - override-values:override-values-task: cache hit, replaying logs 50fae434a20ed36e + override-values:override-values-task: cache hit, replaying logs 6e7cf8bdd5c83b50 override-values:override-values-task: override-values:override-values-task: > override-values-task override-values:override-values-task: > echo running-override-values-task > lib/bar.min.txt diff --git a/turborepo-tests/integration/tests/workspace-configs/persistent.t b/turborepo-tests/integration/tests/workspace-configs/persistent.t index 81054f8ec24fb..838c5d6f61941 100644 --- a/turborepo-tests/integration/tests/workspace-configs/persistent.t +++ b/turborepo-tests/integration/tests/workspace-configs/persistent.t @@ -30,13 +30,13 @@ This test covers: \xe2\x80\xa2 Packages in scope: persistent (esc) \xe2\x80\xa2 Running persistent-task-2-parent in 1 packages (esc) \xe2\x80\xa2 Remote caching disabled (esc) - persistent:persistent-task-2: cache miss, executing 73c5debabd593f2f + persistent:persistent-task-2: cache miss, executing a1be4f21d178a0ac persistent:persistent-task-2: persistent:persistent-task-2: > persistent-task-2 persistent:persistent-task-2: > echo persistent-task-2 persistent:persistent-task-2: persistent:persistent-task-2: persistent-task-2 - persistent:persistent-task-2-parent: cache miss, executing 4e085f900c5be969 + persistent:persistent-task-2-parent: cache miss, executing 3a82d48ad00259f4 persistent:persistent-task-2-parent: persistent:persistent-task-2-parent: > persistent-task-2-parent persistent:persistent-task-2-parent: > echo persistent-task-2-parent