Skip to content

Commit 7222d51

Browse files
thomhurstclaude
andauthored
fix: Add consistent debug logging to all branch condition attributes (#1711)
Add debug logging to branch condition attributes that were missing it: - RunIfBranchAttribute - SkipIfBranchAttribute - RunIfBranchStartsWithAttribute - RunOnlyIfBranchStartsWithAttribute All branch condition attributes now log the current branch and the condition being evaluated, consistent with RunOnlyOnBranchAttribute. Fixes #1553 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent b78a2ea commit 7222d51

4 files changed

Lines changed: 24 additions & 4 deletions

File tree

src/ModularPipelines.Git/Attributes/RunIfBranchAttribute.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Diagnostics.CodeAnalysis;
2+
using Microsoft.Extensions.Logging;
23
using ModularPipelines.Attributes;
34
using ModularPipelines.Context;
45
using ModularPipelines.Git.Extensions;
@@ -17,6 +18,10 @@ public RunIfBranchAttribute(string branchName)
1718

1819
public override Task<bool> Condition(IPipelineHookContext pipelineContext)
1920
{
20-
return Task.FromResult(pipelineContext.Git().Information.BranchName == BranchName);
21+
var currentBranchName = pipelineContext.Git().Information.BranchName;
22+
23+
pipelineContext.Logger.LogDebug("Current Branch: {CurrentBranch} | Can run on: {ExpectedBranch}", currentBranchName, BranchName);
24+
25+
return Task.FromResult(currentBranchName == BranchName);
2126
}
2227
}

src/ModularPipelines.Git/Attributes/RunIfBranchStartsWithAttribute.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Diagnostics.CodeAnalysis;
2+
using Microsoft.Extensions.Logging;
23
using ModularPipelines.Attributes;
34
using ModularPipelines.Context;
45
using ModularPipelines.Git.Extensions;
@@ -17,6 +18,10 @@ public RunIfBranchStartsWithAttribute(string branchNamePrefix)
1718

1819
public override Task<bool> Condition(IPipelineHookContext pipelineContext)
1920
{
20-
return Task.FromResult(pipelineContext.Git().Information.BranchName?.StartsWith(BranchNamePrefix) ?? false);
21+
var currentBranchName = pipelineContext.Git().Information.BranchName;
22+
23+
pipelineContext.Logger.LogDebug("Current Branch: {CurrentBranch} | Can run if starts with: {ExpectedPrefix}", currentBranchName, BranchNamePrefix);
24+
25+
return Task.FromResult(currentBranchName?.StartsWith(BranchNamePrefix) ?? false);
2126
}
2227
}

src/ModularPipelines.Git/Attributes/RunOnlyIfBranchStartsWithAttribute.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Diagnostics.CodeAnalysis;
2+
using Microsoft.Extensions.Logging;
23
using ModularPipelines.Attributes;
34
using ModularPipelines.Context;
45
using ModularPipelines.Git.Extensions;
@@ -17,6 +18,10 @@ public RunOnlyIfBranchStartsWithAttribute(string branchNamePrefix)
1718

1819
public override Task<bool> Condition(IPipelineHookContext pipelineContext)
1920
{
20-
return Task.FromResult(pipelineContext.Git().Information.BranchName?.StartsWith(BranchNamePrefix) ?? false);
21+
var currentBranchName = pipelineContext.Git().Information.BranchName;
22+
23+
pipelineContext.Logger.LogDebug("Current Branch: {CurrentBranch} | Can run if starts with: {ExpectedPrefix}", currentBranchName, BranchNamePrefix);
24+
25+
return Task.FromResult(currentBranchName?.StartsWith(BranchNamePrefix) ?? false);
2126
}
2227
}

src/ModularPipelines.Git/Attributes/SkipIfBranchAttribute.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Diagnostics.CodeAnalysis;
2+
using Microsoft.Extensions.Logging;
23
using ModularPipelines.Attributes;
34
using ModularPipelines.Context;
45
using ModularPipelines.Git.Extensions;
@@ -17,6 +18,10 @@ public SkipIfBranchAttribute(string branchName)
1718

1819
public override Task<bool> Condition(IPipelineHookContext pipelineContext)
1920
{
20-
return Task.FromResult(pipelineContext.Git().Information.BranchName != BranchName);
21+
var currentBranchName = pipelineContext.Git().Information.BranchName;
22+
23+
pipelineContext.Logger.LogDebug("Current Branch: {CurrentBranch} | Will skip on: {SkipBranch}", currentBranchName, BranchName);
24+
25+
return Task.FromResult(currentBranchName != BranchName);
2126
}
2227
}

0 commit comments

Comments
 (0)