Skip to content

Commit e0bf251

Browse files
committed
Add filtering for CI service messages
1 parent a19f7bd commit e0bf251

File tree

5 files changed

+33
-0
lines changed

5 files changed

+33
-0
lines changed

source/Nuke.Common/CI/AzurePipelines/AzurePipelines.Theming.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,14 @@ protected internal override void ReportError(string text, string details = null)
5050
{
5151
LogIssue(AzurePipelinesIssueType.Error, text);
5252
}
53+
54+
protected internal override bool FilterMessage(string message)
55+
{
56+
if (!message.ContainsOrdinalIgnoreCase("##vso["))
57+
return false;
58+
59+
Console.WriteLine(message);
60+
return true;
61+
}
5362
}
5463
}

source/Nuke.Common/CI/GitHubActions/GitHubActions.Theming.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,14 @@ protected internal override void ReportError(string text, string details = null)
2828
{
2929
WriteError(text);
3030
}
31+
32+
protected internal override bool FilterMessage(string message)
33+
{
34+
if (!message.StartsWith("::"))
35+
return false;
36+
37+
Console.WriteLine(message);
38+
return true;
39+
}
3140
}
3241
}

source/Nuke.Common/CI/TeamCity/TeamCity.Theming.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,14 @@ protected internal override void ReportError(string text, string details = null)
2929
{
3030
WriteError(text, details);
3131
}
32+
33+
protected internal override bool FilterMessage(string message)
34+
{
35+
if (!message.ContainsOrdinalIgnoreCase("##teamcity["))
36+
return false;
37+
38+
Console.WriteLine(message);
39+
return true;
40+
}
3241
}
3342
}

source/Nuke.Common/Execution/Host.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ protected internal virtual void ReportError(string text, string details = null)
7272
{
7373
}
7474

75+
protected internal virtual bool FilterMessage(string message)
76+
{
77+
return false;
78+
}
79+
7580
internal virtual void WriteSummary(NukeBuild build)
7681
{
7782
WriteSevereLogEvents(Logging.InMemorySink.Instance.LogEvents);

source/Nuke.Common/Execution/Logging.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public static void Configure(NukeBuild build = null)
5454
.ConfigureInMemory(build)
5555
.ConfigureFiles(build)
5656
.ConfigureLevel()
57+
.Filter.ByExcluding(x => NukeBuild.Host.FilterMessage(x.MessageTemplate.Text))
5758
.CreateLogger();
5859
}
5960

0 commit comments

Comments
 (0)