Skip to content

Commit 7a50563

Browse files
committed
Merge branch 'release/0.13.0'
2 parents fb64ff8 + 07e0ee8 commit 7a50563

24 files changed

+1189
-350
lines changed

.config/dotnet-tools.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
"isRoot": true,
44
"tools": {
55
"nuke.globaltool": {
6-
"version": "8.1.0",
6+
"version": "9.0.2",
77
"commands": [
88
"nuke"
99
]
1010
},
1111
"gitversion.tool": {
12-
"version": "6.0.2",
12+
"version": "6.1.0",
1313
"commands": [
1414
"dotnet-gitversion"
1515
]

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,3 +453,4 @@ $RECYCLE.BIN/
453453
!.vscode/launch.json
454454
!.vscode/extensions.json
455455
/.nuke/temp
456+
/.qodo/indexes.sqlite

.nuke/build.schema.json

Lines changed: 78 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,5 @@
11
{
22
"$schema": "http://json-schema.org/draft-04/schema#",
3-
"properties": {
4-
"AutoStash": {
5-
"type": "boolean",
6-
"description": "Indicates if any changes should be stashed automatically prior to switching branch (Default : true)"
7-
},
8-
"ConfigName": {
9-
"type": "string",
10-
"description": "Defines the name of the configuration to use to publish packages"
11-
},
12-
"Configuration": {
13-
"type": "string",
14-
"description": "Defines the configuration to use when building the application",
15-
"enum": [
16-
"Debug",
17-
"Release"
18-
]
19-
},
20-
"DeleteLocalOnSuccess": {
21-
"type": "boolean",
22-
"description": "Should the local branch be deleted after the pull request was created successfully ?"
23-
},
24-
"Description": {
25-
"type": "string",
26-
"description": "Description of the pull request"
27-
},
28-
"Draft": {
29-
"type": "boolean",
30-
"description": "Indicates to open the pull request as 'draft'"
31-
},
32-
"GitHubToken": {
33-
"type": "string",
34-
"description": "Token used to create a new release in GitHub",
35-
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
36-
},
37-
"IgnoreFailedSources": {
38-
"type": "boolean",
39-
"description": "Ignore unreachable sources during Restore"
40-
},
41-
"Issues": {
42-
"type": "array",
43-
"description": "Issues that will be closed once the pull request is completed",
44-
"items": {
45-
"type": "integer"
46-
}
47-
},
48-
"Major": {
49-
"type": "boolean",
50-
"description": "Hint to create a major release"
51-
},
52-
"Name": {
53-
"type": "string",
54-
"description": "Name of the branch to create"
55-
},
56-
"NugetApiKey": {
57-
"type": "string",
58-
"description": "Token used to interact with Nuget API",
59-
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
60-
},
61-
"SkipConfirmation": {
62-
"type": "boolean",
63-
"description": "Set to true to not ask any confirmation to the end user (default: false)"
64-
},
65-
"Solution": {
66-
"type": "string",
67-
"description": "Path to a solution file that is automatically loaded"
68-
},
69-
"Title": {
70-
"type": "string",
71-
"description": "Title that will be used when creating a PR"
72-
}
73-
},
743
"definitions": {
754
"Host": {
765
"type": "string",
@@ -176,5 +105,82 @@
176105
}
177106
}
178107
},
179-
"$ref": "#/definitions/NukeBuild"
108+
"allOf": [
109+
{
110+
"properties": {
111+
"AutoStash": {
112+
"type": "boolean",
113+
"description": "Indicates if any changes should be stashed automatically prior to switching branch (Default : true)"
114+
},
115+
"ConfigName": {
116+
"type": "string",
117+
"description": "Defines the name of the configuration to use to publish packages"
118+
},
119+
"Configuration": {
120+
"type": "string",
121+
"description": "Defines the configuration to use when building the application",
122+
"enum": [
123+
"Debug",
124+
"Release"
125+
]
126+
},
127+
"DeleteLocalOnSuccess": {
128+
"type": "boolean",
129+
"description": "Should the local branch be deleted after the pull request was created successfully ?"
130+
},
131+
"Description": {
132+
"type": "string",
133+
"description": "Description of the pull request"
134+
},
135+
"Draft": {
136+
"type": "boolean",
137+
"description": "Indicates to open the pull request as 'draft'"
138+
},
139+
"GitHubToken": {
140+
"type": "string",
141+
"description": "Token used to create a new release in GitHub",
142+
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
143+
},
144+
"IgnoreFailedSources": {
145+
"type": "boolean",
146+
"description": "Ignore unreachable sources during Restore"
147+
},
148+
"Issues": {
149+
"type": "array",
150+
"description": "Issues that will be closed once the pull request is completed",
151+
"items": {
152+
"type": "integer"
153+
}
154+
},
155+
"Major": {
156+
"type": "boolean",
157+
"description": "Hint to create a major release"
158+
},
159+
"Name": {
160+
"type": "string",
161+
"description": "Name of the branch to create"
162+
},
163+
"NugetApiKey": {
164+
"type": "string",
165+
"description": "Token used to interact with Nuget API",
166+
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
167+
},
168+
"SkipConfirmation": {
169+
"type": "boolean",
170+
"description": "Set to true to not ask any confirmation to the end user (default: false)"
171+
},
172+
"Solution": {
173+
"type": "string",
174+
"description": "Path to a solution file that is automatically loaded"
175+
},
176+
"Title": {
177+
"type": "string",
178+
"description": "Title that will be used when creating a PR"
179+
}
180+
}
181+
},
182+
{
183+
"$ref": "#/definitions/NukeBuild"
184+
}
185+
]
180186
}

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [0.13.0] / 2025-04-11
11+
### 🚀 New features
12+
13+
- Added `IIntegrationTest` component that can run integration tests ([#173](https://github.com/candoumbe/Pipelines/issues/173))
14+
- Added `IReportUnitTestCodeCoverage` component
15+
- Added `IReportIntegrationTestCodeCoverage` component
16+
- Added `IRestore.RestoreToolSettings` to configure the behavior of `dotnet tool restore` command.
17+
- Added "native" stryker tool support
18+
19+
### 🚨 Breaking changes
20+
- Dropped `net6.0` support
21+
-Separated directories for code coverage and coverage history between unit and integration tests.
22+
- `IPushNuGetPackages` component no longer add `--skip-duplicate` option by default.
23+
- Replaced `Configure<DotNetRunSettings> StrykerArgumentSettings` is now `Configure<StrykerSettings>`
24+
25+
### 🛠️ Fixes
26+
- `IBuildDockerImage` component should run AFTER `IUnitTest`, `IIntegrationTest` and `IMutationTest` components.
27+
1028
## [0.12.1] / 2024-11-12
1129
### 🛠️ Fixes
1230
- Fixed incorrect verbosity of the default implementation of the `IUnitTest` component
@@ -218,7 +236,8 @@ So now `{MutationTestDirectory}/[{framework}]` is now changed to `{MutationTestD
218236
## [0.1.0] / 2022-10-23
219237
- Initial release
220238

221-
[Unreleased]: https://github.com/candoumbe/Pipelines/compare/0.12.1...HEAD
239+
[Unreleased]: https://github.com/candoumbe/Pipelines/compare/0.13.0...HEAD
240+
[0.13.0]: https://github.com/candoumbe/Pipelines/compare/0.12.1...0.13.0
222241
[0.12.1]: https://github.com/candoumbe/Pipelines/compare/0.11.0...0.12.1
223242
[0.11.0]: https://github.com/candoumbe/Pipelines/compare/0.10.0...0.11.0
224243
[0.10.0]: https://github.com/candoumbe/Pipelines/compare/0.9.0...0.10.0

GitVersion.yml

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
11
mode: ContinuousDeployment
2-
branches:
3-
feature:
4-
regex: "^feature(s)?[/-]"
5-
coldfix:
6-
regex: "^coldfix(es)?[/-]"
7-
mode: ContinuousDeployment
8-
label: useBranchName
9-
increment: Inherit
10-
prevent-increment:
11-
when-branch-merged: false
12-
track-merge-target: false
13-
source-branches: [ 'develop', 'feature', 'support', 'hotfix' ]
14-
tracks-release-branches: false
15-
is-release-branch: false
16-
is-main-branch: false
17-
pre-release-weight: 30000
18-
release:
19-
regex: "^release(s)?[/-]"
20-
label: "rc"
21-
is-release-branch: true
22-
develop:
23-
label: "alpha"
2+
branches:
3+
feature:
4+
regex: "^feature(s)?[/-]"
5+
coldfix:
6+
regex: "^coldfix(es)?[/-]"
7+
mode: ContinuousDelivery
8+
label: '{BranchName}'
9+
increment: Inherit
10+
prevent-increment:
11+
of-merged-branch: false
12+
track-merge-target: false
13+
source-branches: [ 'develop', 'feature', 'support', 'hotfix' ]
14+
tracks-release-branches: false
15+
is-release-branch: false
16+
pre-release-weight: 30000
17+
release:
18+
regex: "^release(s)?[/-]"
19+
label: "rc"
20+
mode: ContinuousDelivery
21+
develop:
22+
label: "alpha"
2423
ignore:
25-
sha: []
26-
merge-message-formats: {}
24+
sha: []
25+
merge-message-formats: {}

build/Pipeline.cs

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,13 @@
66
using Candoumbe.Pipelines.Components.NuGet;
77
using Candoumbe.Pipelines.Components.Workflows;
88
using Nuke.Common;
9-
using Nuke.Common.CI;
109
using Nuke.Common.CI.GitHubActions;
1110
using Nuke.Common.IO;
1211
using Nuke.Common.ProjectModel;
1312
using Nuke.Common.Tools.DotNet;
14-
using Nuke.Common.Tools.Git;
1513
using Nuke.Common.Tools.GitHub;
1614

17-
namespace Candoumbe.Pipelines.Build;
18-
19-
using static GitTasks;
15+
using static Nuke.Common.Tools.Git.GitTasks;
2016

2117
[GitHubActions("integration",
2218
GitHubActionsImage.UbuntuLatest,
@@ -61,15 +57,9 @@ namespace Candoumbe.Pipelines.Build;
6157
[DotNetVerbosityMapping]
6258
public class Pipeline : EnhancedNukeBuild,
6359
IHaveSourceDirectory,
64-
IHaveSolution,
65-
IHaveChangeLog,
6660
IClean,
6761
IRestore,
6862
ICompile,
69-
IPack,
70-
IHaveGitVersion,
71-
IHaveGitHubRepository,
72-
IHaveArtifacts,
7363
IPushNugetPackages,
7464
ICreateGithubRelease,
7565
IGitFlowWithPullRequest
@@ -78,11 +68,11 @@ public class Pipeline : EnhancedNukeBuild,
7868
IEnumerable<AbsolutePath> IClean.DirectoriesToDelete => this.Get<IHaveSourceDirectory>().SourceDirectory.GlobDirectories("**/*/bin", "**/*/obj");
7969

8070
///<inheritdoc/>
81-
IEnumerable<AbsolutePath> IClean.DirectoriesToEnsureExistence => new[]
82-
{
71+
IEnumerable<AbsolutePath> IClean.DirectoriesToEnsureExistence =>
72+
[
8373
this.Get<IHaveArtifacts>().OutputDirectory,
84-
this.Get<IHaveArtifacts>().ArtifactsDirectory,
85-
};
74+
this.Get<IHaveArtifacts>().ArtifactsDirectory
75+
];
8676

8777
[Required]
8878
[Solution]
@@ -112,8 +102,8 @@ public class Pipeline : EnhancedNukeBuild,
112102
IEnumerable<AbsolutePath> ICreateGithubRelease.Assets => this.Get<IPack>().OutputDirectory.GlobFiles("**/*.nupkg;**/*.snupkg");
113103

114104
///<inheritdoc/>
115-
IEnumerable<PushNugetPackageConfiguration> IPushNugetPackages.PublishConfigurations => new PushNugetPackageConfiguration[]
116-
{
105+
IEnumerable<PushNugetPackageConfiguration> IPushNugetPackages.PublishConfigurations =>
106+
[
117107
new NugetPushConfiguration(
118108
apiKey: NugetApiKey,
119109
source: new Uri("https://api.nuget.org/v3/index.json"),
@@ -122,8 +112,8 @@ public class Pipeline : EnhancedNukeBuild,
122112
new GitHubPushNugetConfiguration(
123113
githubToken: this.Get<ICreateGithubRelease>()?.GitHubToken,
124114
source: new Uri($"https://nuget.pkg.github.com/{ this.Get<IHaveGitHubRepository>().GitRepository.GetGitHubOwner() }/index.json"),
125-
canBeUsed: () => this is ICreateGithubRelease { GitHubToken: not null }),
126-
};
115+
canBeUsed: () => this is ICreateGithubRelease { GitHubToken: not null })
116+
];
127117

128118
///<inheritdoc/>
129119
ValueTask IGitFlow.FinishRelease()

core.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
</When>
3434
</Choose>
3535
<ItemGroup>
36-
<PackageReference Include="Roslynator.Analyzers" Version="4.12.5">
36+
<PackageReference Include="Roslynator.Analyzers" Version="4.13.1">
3737
<PrivateAssets>all</PrivateAssets>
3838
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
3939
</PackageReference>
@@ -43,6 +43,6 @@
4343
</ItemGroup>
4444

4545
<ItemGroup>
46-
<PackageReference Include="Candoumbe.Miscutilities" Version="0.13.0"/>
46+
<PackageReference Include="Candoumbe.Miscutilities" Version="0.14.0"/>
4747
</ItemGroup>
4848
</Project>

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"sdk": {
3-
"version": "8.0.401"
3+
"version": "8.0.407"
44
}
55
}

0 commit comments

Comments
 (0)