From 56f91f04a5269fcf26b2bc64b782018160884fba Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 30 Nov 2025 20:11:08 +0100 Subject: [PATCH] download logs if log is enabled --- src/Terrabuild/Contracts/ConfigOptions.fs | 1 + src/Terrabuild/Core/GraphPipeline/Action.fs | 5 ++++- src/Terrabuild/Program.fs | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Terrabuild/Contracts/ConfigOptions.fs b/src/Terrabuild/Contracts/ConfigOptions.fs index e34e0ebd..0592916d 100644 --- a/src/Terrabuild/Contracts/ConfigOptions.fs +++ b/src/Terrabuild/Contracts/ConfigOptions.fs @@ -14,6 +14,7 @@ type Options = { MaxConcurrency: int Force: bool Retry: bool + Log: bool LocalOnly: bool StartedAt: DateTime Targets: string set diff --git a/src/Terrabuild/Core/GraphPipeline/Action.fs b/src/Terrabuild/Core/GraphPipeline/Action.fs index 17fa7b5e..27a04c17 100644 --- a/src/Terrabuild/Core/GraphPipeline/Action.fs +++ b/src/Terrabuild/Core/GraphPipeline/Action.fs @@ -14,6 +14,9 @@ let build (options: ConfigOptions.Options) (cache: Cache.ICache) (graph: GraphDe let nodes = Concurrent.ConcurrentDictionary() let scheduledNodeStatus = Concurrent.ConcurrentDictionary() let hub = Hub.Create(options.MaxConcurrency) + let downloadExternalLogs = + if options.Log then GraphDef.NodeAction.Summary + else GraphDef.NodeAction.Ignore let getNodeAction (node: GraphDef.Node) hasChildBuilding = // task is forced to build @@ -45,7 +48,7 @@ let build (options: ConfigOptions.Options) (cache: Cache.ICache) (graph: GraphDe // task is cached elif node.Artifacts = GraphDef.Artifacts.External then Log.Debug("{NodeId} is external {Date}", node.Id, summary.EndedAt) - (GraphDef.NodeAction.Summary, summary.EndedAt) + (downloadExternalLogs, summary.EndedAt) else Log.Debug("{NodeId} is restorable {Date}", node.Id, summary.EndedAt) (GraphDef.NodeAction.Restore, summary.EndedAt) diff --git a/src/Terrabuild/Program.fs b/src/Terrabuild/Program.fs index 6315848b..07cc45a5 100644 --- a/src/Terrabuild/Program.fs +++ b/src/Terrabuild/Program.fs @@ -93,6 +93,7 @@ let processCommandLine (parser: ArgumentParser) (result: ParseRe ConfigOptions.Options.MaxConcurrency = options.MaxConcurrency ConfigOptions.Options.Force = options.Force ConfigOptions.Options.Retry = options.Retry + ConfigOptions.Options.Log = log ConfigOptions.Options.LocalOnly = options.LocalOnly ConfigOptions.Options.StartedAt = options.StartedAt ConfigOptions.Options.Targets = options.Targets