diff options
| author | 2023-04-28 01:36:44 +0800 | |
|---|---|---|
| committer | 2023-04-28 01:36:44 +0800 | |
| commit | dd84b9d64fb98746a230cd24233ff50a562c39c9 (patch) | |
| tree | b583261ef00b3afe72ec4d6dacb31e57779a6faf /cli/internal/runsummary/globalhash_summary.go | |
| parent | 0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff) | |
| download | HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip | |
Diffstat (limited to 'cli/internal/runsummary/globalhash_summary.go')
| -rw-r--r-- | cli/internal/runsummary/globalhash_summary.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/cli/internal/runsummary/globalhash_summary.go b/cli/internal/runsummary/globalhash_summary.go new file mode 100644 index 0000000..e24976d5 --- /dev/null +++ b/cli/internal/runsummary/globalhash_summary.go @@ -0,0 +1,38 @@ +package runsummary + +import ( + "github.com/vercel/turbo/cli/internal/env" + "github.com/vercel/turbo/cli/internal/fs" + "github.com/vercel/turbo/cli/internal/turbopath" +) + +// GlobalHashSummary contains the pieces of data that impacted the global hash (then then impacted the task hash) +type GlobalHashSummary struct { + GlobalCacheKey string `json:"rootKey"` + GlobalFileHashMap map[turbopath.AnchoredUnixPath]string `json:"files"` + RootExternalDepsHash string `json:"hashOfExternalDependencies"` + Pipeline fs.PristinePipeline `json:"rootPipeline"` + + // This is a private field because and not in JSON, because we'll add it to each task + envVars env.EnvironmentVariablePairs + passthroughEnvVars env.EnvironmentVariablePairs +} + +// NewGlobalHashSummary creates a GlobalHashSummary struct from a set of fields. +func NewGlobalHashSummary( + fileHashMap map[turbopath.AnchoredUnixPath]string, + rootExternalDepsHash string, + envVars env.DetailedMap, + passthroughEnvVars env.EnvironmentVariableMap, + globalCacheKey string, + pipeline fs.PristinePipeline, +) *GlobalHashSummary { + return &GlobalHashSummary{ + envVars: envVars.All.ToSecretHashable(), + passthroughEnvVars: passthroughEnvVars.ToSecretHashable(), + GlobalFileHashMap: fileHashMap, + RootExternalDepsHash: rootExternalDepsHash, + GlobalCacheKey: globalCacheKey, + Pipeline: pipeline, + } +} |
