Skip to content

Commit 38f226b

Browse files
committed
Merge branch 'collaborators' of https://github.com/Jericho/GitReleaseManager into collaborators
2 parents 05e3715 + 1e88c70 commit 38f226b

File tree

8 files changed

+27
-8
lines changed

8 files changed

+27
-8
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,15 @@ jobs:
4343
- name: Fetch all tags and branches
4444
run: git fetch --prune --unshallow
4545

46-
- name: Install .NET SDK 2.1.x, 3.1.x, 5.0.x, and 6.0.x
46+
- name: Install .NET SDK 2.1.x, 3.1.x, 5.0.x, 6.0.x, and 7.0.x
4747
uses: actions/setup-dotnet@v4
4848
with:
4949
dotnet-version: |
5050
2.1.x
5151
3.1.x
5252
5.0.x
5353
6.0.x
54+
7.0.x
5455
5556
- name: Cache Tools
5657
uses: actions/cache@v4
@@ -59,7 +60,7 @@ jobs:
5960
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}
6061

6162
- name: Build project
62-
uses: cake-build/cake-action@v2
63+
uses: cake-build/cake-action@v3
6364
with:
6465
script-path: recipe.cake
6566
target: CI

src/Directory.Packages.props

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,29 @@
88
<PackageVersion Include="ApprovalTests" Version="6.0.0" />
99
<PackageVersion Include="AutoMapper" Version="13.0.1" />
1010
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
11-
<PackageVersion Include="coverlet.msbuild" Version="6.0.3" />
11+
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
1212
<PackageVersion Include="Destructurama.Attributed" Version="5.1.0" />
1313
<PackageVersion Include="GraphQL.Client" Version="6.0.1" />
1414
<PackageVersion Include="GraphQL.Client.Serializer.SystemTextJson" Version="6.0.1" />
1515
<PackageVersion Include="IDisposableAnalyzers" Version="4.0.8" />
1616
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0" />
17-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
17+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.2" />
1818
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
1919
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
20-
<PackageVersion Include="NGitLab" Version="7.1.0" />
20+
<PackageVersion Include="NGitLab" Version="7.6.0" />
2121
<PackageVersion Include="NSubstitute" Version="5.3.0" />
2222
<PackageVersion Include="NUnit" Version="4.3.2" />
2323
<PackageVersion Include="NUnit.Analyzers" Version="4.6.0" />
2424
<PackageVersion Include="NUnit3TestAdapter" Version="4.6.0" />
2525
<PackageVersion Include="Octokit" Version="14.0.0" />
26-
<PackageVersion Include="Roslynator.Analyzers" Version="4.12.10" />
26+
<PackageVersion Include="Roslynator.Analyzers" Version="4.13.0" />
2727
<PackageVersion Include="Scriban" Version="5.12.1" />
2828
<PackageVersion Include="Serilog" Version="4.2.0" />
2929
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />
3030
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />
3131
<PackageVersion Include="Serilog.Sinks.File" Version="6.0.0" />
3232
<PackageVersion Include="seriloganalyzer" Version="0.15.0" />
33-
<PackageVersion Include="Shouldly" Version="4.2.1" />
33+
<PackageVersion Include="Shouldly" Version="4.3.0" />
3434
<PackageVersion Include="StyleCop.Analyzers" Version="1.1.118" />
3535
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
3636
<PackageVersion Include="TextCopy" Version="6.2.1" />

src/GitReleaseManager.Core/Configuration/CloseConfig.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,12 @@ public sealed class CloseConfig
2222
[Sample(":tada: This issue has been resolved in version {milestone} :tada:\n\nThe release is available on:\n\n- [NuGet package(@{milestone})](https://nuget.org/packages/{repository}/{milestone})\n- [GitHub release](https://github.com/{owner}/{repository}/releases/tag/{milestone})\n\nYour **[GitReleaseManager](https://github.com/GitTools/GitReleaseManager)** bot :package::rocket:")]
2323
[YamlMember(Alias = "issue-comment", ScalarStyle = YamlDotNet.Core.ScalarStyle.Literal)]
2424
public string IssueCommentFormat { get; set; }
25+
26+
/// <summary>
27+
/// Gets or sets a value indicating whether the due date should be set when closing the milestone.
28+
/// </summary>
29+
[Description("Whether to set the due date when closing the milestone.")]
30+
[YamlMember(Alias = "set-due-date")]
31+
public bool SetDueDate { get; set; }
2532
}
2633
}

src/GitReleaseManager.Core/Configuration/Config.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public Config()
4343
{
4444
IssueComments = false,
4545
IssueCommentFormat = ISSUE_COMMENT_FORMAT,
46+
SetDueDate = false, // by default, do not set the due date to match previous behavior
4647
};
4748

4849
DefaultBranch = "master";

src/GitReleaseManager.Core/Model/Milestone.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,7 @@ public sealed class Milestone
1717
public string Url { get; set; }
1818

1919
public Version Version { get; set; }
20+
21+
public DateTimeOffset? DueOn { get; set; }
2022
}
2123
}

src/GitReleaseManager.Core/Provider/GitHubProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ public Task SetMilestoneStateAsync(string owner, string repository, Milestone mi
308308
{
309309
return GitHubProvider.ExecuteAsync(async () =>
310310
{
311-
var update = new MilestoneUpdate { State = (Octokit.ItemState)itemState };
311+
var update = new MilestoneUpdate { State = (Octokit.ItemState)itemState, DueOn = milestone.DueOn };
312312
await _gitHubClient.Issue.Milestone.Update(owner, repository, milestone.PublicNumber, update).ConfigureAwait(false);
313313
});
314314
}

src/GitReleaseManager.Core/Provider/GitLabProvider.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,11 @@ public Task SetMilestoneStateAsync(string owner, string repository, Milestone mi
267267
}
268268
else if (itemState == ItemState.Closed)
269269
{
270+
if (milestone.DueOn.HasValue)
271+
{
272+
mileStoneClient.Update(milestone.InternalNumber, new MilestoneUpdate { DueDate = milestone.DueOn.Value.ToString("o", CultureInfo.InvariantCulture) });
273+
}
274+
270275
mileStoneClient.Close(milestone.InternalNumber);
271276
}
272277

src/GitReleaseManager.Core/VcsService.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,9 @@ public async Task CloseMilestoneAsync(string owner, string repository, string mi
256256
_logger.Verbose("Finding open milestone with title '{Title}' on '{Owner}/{Repository}'", milestoneTitle, owner, repository);
257257
var milestone = await _vcsProvider.GetMilestoneAsync(owner, repository, milestoneTitle, ItemStateFilter.Open).ConfigureAwait(false);
258258

259+
// Set the due date only if configured to do so
260+
milestone.DueOn = _configuration.Close.SetDueDate ? DateTimeOffset.UtcNow : (DateTimeOffset?)null;
261+
259262
_logger.Verbose("Closing milestone '{Title}' on '{Owner}/{Repository}'", milestoneTitle, owner, repository);
260263
await _vcsProvider.SetMilestoneStateAsync(owner, repository, milestone, ItemState.Closed).ConfigureAwait(false);
261264

0 commit comments

Comments
 (0)