Skip to content

Commit 5995345

Browse files
committed
Improve error reporting in github actions
1 parent aa230e7 commit 5995345

3 files changed

Lines changed: 16 additions & 9 deletions

File tree

Fun.Build/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
## [1.1.13] - 2024-10-21
6+
7+
- Improve error reporting in github actions
8+
59
## [1.1.12] - 2024-10-21
610

711
- Improve error reporting in github actions

Fun.Build/PipelineContextExtensions.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ module PipelineContextExtensionsInternal =
5959
}
6060

6161

62-
member this.GetErrorPrefix() =
62+
member this.PrintError(msg: string) =
6363
if this.EnvVars.ContainsKey("GITHUB_ENV") then
6464
let title = "[PIPELINE] " + this.Name.Replace(",", "_")
65-
$"::error title={title}::"
65+
AnsiConsole.WriteLine $"::error title={title}::{msg}"
6666
else
67-
"Error: "
67+
AnsiConsole.MarkupLineInterpolated $"[red]Error: {msg}[/]"
6868

6969

7070
member this.RunStages(stages: StageContext seq, cancelToken: Threading.CancellationToken, ?failfast: bool) =
@@ -163,7 +163,7 @@ module PipelineContextExtensionsInternal =
163163
if pipelineExns.Count > 0 then
164164
for exn in pipelineExns do
165165
let innerMessage = if exn.InnerException <> null then exn.InnerException.Message else ""
166-
AnsiConsole.MarkupLineInterpolated $"[red]{this.GetErrorPrefix()}{exn.Message} {innerMessage}[/]"
166+
this.PrintError(exn.Message + " " + innerMessage)
167167
AnsiConsole.WriteLine()
168168
raise (PipelineFailedException("Pipeline is failed because of exception", pipelineExns[0]))
169169
else if hasError then

Fun.Build/StageContextExtensions.fs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,13 @@ module StageContextExtensionsInternal =
6262
|> fun x -> x + ctx.Name
6363

6464

65-
member ctx.GetErrorPrefix() =
65+
member ctx.PrinterError(msg: string) =
6666
match ctx.TryGetEnvVar("GITHUB_ENV") with
6767
| ValueSome _ ->
6868
let title = "[STAGE] " + ctx.GetNamePath().Replace(",", "_")
69-
$"::error title={title}::"
70-
| _ -> "Error: "
69+
AnsiConsole.WriteLine $"::error title={title}::{msg}"
70+
71+
| _ -> AnsiConsole.MarkupLineInterpolated $"""[red]Error: {msg}[/]"""
7172

7273

7374
member ctx.GetNoPrefixForStep() =
@@ -255,10 +256,12 @@ module StageContextExtensionsInternal =
255256
| Error e ->
256257
if String.IsNullOrEmpty e |> not then
257258
if not isParallel && stage.GetNoPrefixForStep() then
258-
AnsiConsole.MarkupLineInterpolated $"""[red]{stage.GetErrorPrefix()}{e}[/]"""
259+
stage.PrinterError(e)
259260
else
260-
AnsiConsole.MarkupLineInterpolated $"""[red]{stage.GetErrorPrefix()}{prefix} {e}[/]"""
261+
stage.PrinterError(prefix + " " + e)
262+
261263
return false
264+
262265
| Ok _ -> return true
263266
}
264267
| Step.StepOfStage subStage -> async {

0 commit comments

Comments
 (0)