Skip to content

Commit 3d7b479

Browse files
committed
Merge branch 'release/1.1.0'
2 parents 9d01f98 + ab1b692 commit 3d7b479

19 files changed

+210
-128
lines changed

.nuke/build.schema.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,15 @@
3232
"Feature",
3333
"Format",
3434
"Hotfix",
35+
"IntegrationTests",
36+
"MutationTests",
3537
"Pack",
3638
"Publish",
3739
"Release",
38-
"Restore"
40+
"ReportIntegrationTestCoverage",
41+
"ReportUnitTestCoverage",
42+
"Restore",
43+
"UnitTests"
3944
]
4045
},
4146
"Verbosity": {
@@ -113,6 +118,11 @@
113118
"type": "boolean",
114119
"description": "Indicates if any changes should be stashed automatically prior to switching branch (Default : true)"
115120
},
121+
"CodecovToken": {
122+
"type": "string",
123+
"description": "The API key used to push code coverage to CodeCov",
124+
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
125+
},
116126
"ConfigName": {
117127
"type": "string",
118128
"description": "Defines the name of the configuration to use to publish packages"
@@ -186,6 +196,11 @@
186196
"type": "string",
187197
"description": "Path to a solution file that is automatically loaded"
188198
},
199+
"StrykerDashboardApiKey": {
200+
"type": "string",
201+
"description": "API KEY used to submit mutation report to a stryker dashboard",
202+
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
203+
},
189204
"Title": {
190205
"type": "string",
191206
"description": "Title that will be used when creating a PR"

CHANGELOG.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.1.0] / 2025-09-09
11+
### 🚀 New features
12+
- Improved targets ordering
13+
- Added various checks to ensure targets that depends on certain files to be present do not run when those files are not present.
14+
- Added support for `Microsoft.Testing.Platform` ([#198](https://github.com/candoumbe/Pipelines/issues/198))
15+
16+
### 🧹 Housekeeping
17+
18+
1019
## [1.0.1] / 2025-08-27
1120
### 🧹 Housekeeping
1221

@@ -278,7 +287,8 @@ So now `{MutationTestDirectory}/[{framework}]` is now changed to `{MutationTestD
278287
## [0.1.0] / 2022-10-23
279288
- Initial release
280289

281-
[Unreleased]: https://github.com/candoumbe/Pipelines/compare/1.0.1...HEAD
290+
[Unreleased]: https://github.com/candoumbe/Pipelines/compare/1.1.0...HEAD
291+
[1.1.0]: https://github.com/candoumbe/Pipelines/compare/1.0.1...1.1.0
282292
[1.0.1]: https://github.com/candoumbe/Pipelines/compare/1.0.0...1.0.1
283293
[1.0.0]: https://github.com/candoumbe/Pipelines/compare/0.13.4...1.0.0
284294
[0.13.4]: https://github.com/candoumbe/Pipelines/compare/0.13.3...0.13.4
@@ -303,4 +313,4 @@ So now `{MutationTestDirectory}/[{framework}]` is now changed to `{MutationTestD
303313
[0.4.0]: https://github.com/candoumbe/Pipelines/compare/0.3.0...0.4.0
304314
[0.3.0]: https://github.com/candoumbe/Pipelines/compare/0.2.0...0.3.0
305315
[0.2.0]: https://github.com/candoumbe/Pipelines/compare/0.1.0...0.2.0
306-
[0.1.0]: https://github.com/candoumbe/Pipelines/tree/0.1.0
316+
[0.1.0]: https://github.com/candoumbe/Pipelines/tree/0.1.0

GitVersion.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@ mode: ContinuousDeployment
22
branches:
33
feature:
44
regex: "^feature(s)?[/-](?<BranchName>.+)"
5+
mode: ContinuousDelivery
6+
label: '{BranchName}'
7+
increment: None
8+
prevent-increment:
9+
of-merged-branch: false
10+
track-merge-target: false
11+
source-branches: [ 'develop', 'feature', 'support', 'hotfix' ]
12+
tracks-release-branches: false
13+
is-release-branch: false
14+
pre-release-weight: 30000
515
coldfix:
616
regex: "^coldfix(es)?[/-](?<BranchName>.+)"
717
mode: ContinuousDelivery
818
label: '{BranchName}'
9-
increment: Inherit
19+
increment: None
1020
prevent-increment:
1121
of-merged-branch: false
1222
track-merge-target: false

build/Candoumbe.Pipelines.Build.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
</PropertyGroup>
1515

1616
<ItemGroup>
17+
<PackageDownload Include="CodeCovUploader" Version="[0.8.0]"/>
1718
<PackageDownload Include="GitVersion.Tool" Version="[6.0.2]"/>
19+
<PackageDownload Include="ReportGenerator" Version="[5.4.12]"/>
1820
</ItemGroup>
1921
<ItemGroup>
2022
<ProjectReference Include="..\src\Candoumbe.Pipelines\Candoumbe.Pipelines.csproj"/>

build/Pipeline.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ public class Pipeline : EnhancedNukeBuild,
6262
IRestore,
6363
IDotnetFormat,
6464
ICompile,
65+
IUnitTest,
66+
IMutationTest,
67+
IIntegrationTest,
68+
IReportUnitTestCoverage,
69+
IReportIntegrationTestCoverage,
6570
IPushNugetPackages,
6671
ICreateGithubRelease,
6772
IGitFlowWithPullRequest
@@ -80,6 +85,10 @@ public class Pipeline : EnhancedNukeBuild,
8085
[Solution]
8186
public Solution Solution;
8287

88+
IEnumerable<Project> _unitTestsProjects;
89+
IEnumerable<Project> _integrationTestsProjects;
90+
IEnumerable<MutationProjectConfiguration> _mutationTestsProjects;
91+
8392
///<inheritdoc/>
8493
Solution IHaveSolution.Solution => Solution;
8594

@@ -135,4 +144,16 @@ ValueTask IGitFlow.FinishRelease()
135144

136145
///<inheritdoc/>
137146
bool IDotnetFormat.VerifyNoChanges => IsLocalBuild;
147+
148+
/// <inheritdoc />
149+
IEnumerable<Project> IUnitTest.UnitTestsProjects => [];
150+
151+
/// <inheritdoc />
152+
IEnumerable<Project> IIntegrationTest.IntegrationTestsProjects => [];
153+
154+
/// <inheritdoc />
155+
IEnumerable<MutationProjectConfiguration> IMutationTest.MutationTestsProjects => [];
156+
157+
/// <inheritdoc />
158+
bool IReportCoverage.ReportToCodeCov => false;
138159
}

src/Candoumbe.Pipelines/Components/Extensions.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,20 @@ public static T Get<T>(this INukeBuild nukeBuild) where T : INukeBuild
3333
=> (T)(object)nukeBuild;
3434

3535
/// <summary>
36-
/// Uses various heuristics to tests if <paramref name="project"/> has <see href="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/dotnet/sourcelink">SourceLink</see>
37-
/// enabled .
36+
/// Uses various heuristics to check if <paramref name="project"/> has <see href="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/dotnet/sourcelink">SourceLink</see>
37+
/// enabled.
3838
/// </summary>
3939
/// <param name="project"></param>
4040
/// <returns><see langword="true"/> if <see href="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/dotnet/sourcelink">SourceLink</see>
4141
/// enabled and <see langword="false"/> otherwise</returns>
42-
#pragma warning disable RCS1175 // Unused 'this' parameter
43-
#pragma warning disable IDE0060 // Unused 'project' parameter
4442
public static bool IsSourceLinkEnabled(this Project project) => project.HasPackageReference("Microsoft.SourceLink.GitHub");
45-
#pragma warning restore IDE0060 // Unused 'project' parameter
46-
#pragma warning restore RCS1175 // Unused 'this' parameter
43+
44+
/// <summary>
45+
/// Checks if <paramref name="project"/> uses the <see href="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/microsoft/vstest">Microsoft.TestPlatform</see>
46+
/// </summary>
47+
/// <param name="project"></param>
48+
/// <returns></returns>
49+
public static bool IsMicrosoftTestingPlatformEnabled(this Project project) => project.GetProperty<bool?>("TestingPlatformDotnetTestSupport") is true
50+
&& project.GetProperty<bool?>("UseMicrosoftTestingPlatformRunner") is true
51+
&& project.HasPackageReference("Microsoft.Testing.Extensions.CodeCoverage");
4752
}

src/Candoumbe.Pipelines/Components/GitHub/ICreateGithubRelease.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Buffers;
2-
using System.Collections.Generic;
1+
using System.Collections.Generic;
32
using System.IO;
43
using System.Linq;
54
using Candoumbe.Pipelines.Components.Docker;

src/Candoumbe.Pipelines/Components/GitHub/IGitFlowWithPullRequest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
using Nuke.Common.Tools.GitHub;
1010
using Octokit;
1111
using static Nuke.Common.Tools.Git.GitTasks;
12-
using static Nuke.Common.Tools.GitHub.GitHubTasks;
1312
using static Nuke.Common.Utilities.ConsoleUtility;
1413
using static Serilog.Log;
1514

src/Candoumbe.Pipelines/Components/GitHub/IPullRequest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using Nuke.Common;
3-
using Nuke.Common.Git;
43

54
namespace Candoumbe.Pipelines.Components.GitHub
65
{

src/Candoumbe.Pipelines/Components/ICompile.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
using System;
22
using Candoumbe.Pipelines.Components.Formatting;
33
using Nuke.Common;
4-
using Nuke.Common.IO;
54
using Nuke.Common.Tooling;
65
using Nuke.Common.Tools.DotNet;
7-
using Nuke.Common.Tools.GitVersion;
86
using Nuke.Common.Utilities.Collections;
97
using static Nuke.Common.Tools.DotNet.DotNetTasks;
108
using static Serilog.Log;

0 commit comments

Comments
 (0)