Skip to content

Commit 787bbf6

Browse files
committed
Merge branch 'release/6.0.0'
2 parents 55fab48 + 89bef98 commit 787bbf6

File tree

642 files changed

+7353
-5271
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

642 files changed

+7353
-5271
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"cake.tool": {
6-
"version": "5.0.0",
6+
"version": "5.1.0",
77
"commands": [
88
"dotnet-cake"
99
]

.editorconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ indent_size = 2
1313
[*.cs]
1414
indent_style = space
1515
indent_size = 4
16+
dotnet_diagnostic.IDE0005.severity = error
1617

1718
[*.cake]
1819
indent_style = space

.github/workflows/build.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,28 +24,28 @@ jobs:
2424
strategy:
2525
fail-fast: false
2626
matrix:
27-
os: [windows-latest, macos-13, ubuntu-latest]
27+
os: [windows-latest, macos-15-intel, ubuntu-latest, macos-latest]
2828
steps:
2929
- name: Get the sources
30-
uses: actions/checkout@v4
30+
uses: actions/checkout@v5
3131
with:
3232
fetch-depth: 0
3333

3434
- name: Install .NET SDK 8.0.x - 9.0.x
35-
uses: actions/setup-dotnet@v4
35+
uses: actions/setup-dotnet@v5
3636
with:
3737
dotnet-version: |
3838
8.0.x
3939
9.0.x
4040
4141
- name: Install .NET SDK (global.json)
42-
uses: actions/setup-dotnet@v4
42+
uses: actions/setup-dotnet@v5
4343
with:
4444
global-json-file: global.json
4545

4646
- name: Run Cake script
4747
id: build-cake
48-
uses: cake-build/cake-action@master
48+
uses: cake-build/cake-action@v3.0.1
4949
env:
5050
AZURE_DEVOPS_NUGET_API_KEY: ${{ secrets.AZURE_DEVOPS_NUGET_API_KEY }}
5151
AZURE_DEVOPS_NUGET_API_URL: ${{ secrets.AZURE_DEVOPS_NUGET_API_URL }}
@@ -55,11 +55,12 @@ jobs:
5555

5656
- name: Validate Integration Tests
5757
id: validate-cake
58-
uses: cake-build/cake-action@master
58+
uses: cake-build/cake-action@v3.0.1
5959
with:
6060
script-path: tests/integration/Cake.Common/Build/GitHubActions/ValidateGitHubActionsProvider.cake
6161
cake-version: tool-manifest
6262
arguments: |
6363
CAKE_NETCOREAPP_8_0_VERSION_OS: ${{ steps.build-cake.outputs.CAKE_NETCOREAPP_8_0_VERSION_OS }}
6464
CAKE_NETCOREAPP_9_0_VERSION_OS: ${{ steps.build-cake.outputs.CAKE_NETCOREAPP_9_0_VERSION_OS }}
65+
CAKE_NETCOREAPP_10_0_VERSION_OS: ${{ steps.build-cake.outputs.CAKE_NETCOREAPP_10_0_VERSION_OS }}
6566
ValidateGitHubActionsProvider: true

.github/workflows/codeql-analysis.yml

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,39 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
language: [ 'csharp' ]
19+
include:
20+
- language: 'csharp'
21+
build-mode: 'autobuild'
2022

2123
steps:
24+
2225
- name: Checkout repository
23-
uses: actions/checkout@v3
26+
uses: actions/checkout@v5
2427
with:
2528
fetch-depth: 0
2629

30+
- name: Install .NET SDK 8.0.x - 9.0.x
31+
uses: actions/setup-dotnet@v5
32+
with:
33+
dotnet-version: |
34+
8.0.x
35+
9.0.x
36+
37+
- name: Install .NET SDK (global.json)
38+
uses: actions/setup-dotnet@v5
39+
with:
40+
global-json-file: global.json
41+
2742
- name: Initialize CodeQL
28-
uses: github/codeql-action/init@v2
43+
uses: github/codeql-action/init@v4
2944
with:
3045
languages: ${{ matrix.language }}
46+
build-mode: ${{ matrix.build-mode }}
3147

3248
- name: Autobuild
33-
uses: github/codeql-action/autobuild@v2
49+
uses: github/codeql-action/autobuild@v4
50+
env:
51+
CAKE_INSTALL_SUPPORTED_SDKS: true
3452

3553
- name: Perform CodeQL Analysis
36-
uses: github/codeql-action/analyze@v2
54+
uses: github/codeql-action/analyze@v4

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
environment: Production
1919
steps:
2020
- name: Get the sources
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@v5
2222
with:
2323
fetch-depth: 0
2424

@@ -30,14 +30,14 @@ jobs:
3030
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
3131

3232
- name: Install .NET SDK 8.0.x - 9.0.x
33-
uses: actions/setup-dotnet@v4
33+
uses: actions/setup-dotnet@v5
3434
with:
3535
dotnet-version: |
3636
8.0.x
3737
9.0.x
3838
3939
- name: Install .NET SDK (global.json)
40-
uses: actions/setup-dotnet@v4
40+
uses: actions/setup-dotnet@v5
4141
with:
4242
global-json-file: global.json
4343

@@ -49,7 +49,7 @@ jobs:
4949

5050

5151
- name: Build & Release Cake
52-
uses: cake-build/cake-action@master
52+
uses: cake-build/cake-action@v3.0.1
5353
env:
5454
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5555
CAKE_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

GitVersion.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
next-version: 5.0.0
1+
next-version: 6.0.0
22
branches:
33
master:
44
regex: main

ReleaseNotes.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
1-
### New in 5.1.0 (Released 2025/10/04)
1+
### New in 6.0.0 (Released 2025/11/11)
2+
3+
* #4639 Make CakeSpectreReportPrinter the default ICakeReportPrinter.
4+
* #4638 Update Spectre.Console to 0.53.0.
5+
* #4593 Update LatestPotentialBreakingChange to 6.0.0.
6+
* #4534 Azure Pipleines Environement Agent Info uses FilePath instead of DirectoryPath.
7+
* #4592 C# 14 Scripting Support.
8+
* #4576 Add .NET 10 (net10.0) TFM.
9+
* #4642 Display Delegated/Executed status as Succeded in Cake task summary.
10+
* #4636 Enhance file system abstraction with timestamps, Unix modes, and performance improvements.
11+
* #4627 .NET Test Platform Requires --project `<PROJECT_PATH>` / --solution `<SOLUTION_PATH>` to be specified.
12+
* #4624 Update System.* to 9.0.10.
13+
* #4623 Update Microsoft.Extensions.DependencyInjection to 9.0.10.
14+
* #4622 Update Spectre.Console to 0.52.0.
15+
* #4616 Replace using with await using for IAsyncDisposable resources.
16+
* #4615 Replace manual null checks with ArgumentNullException.ThrowIfNull().
17+
* #4614 Modernize Enum.GetName calls to use generic overload.
18+
* #4613 Use char literals instead of string literals for single characters in StreamWriter.Write.
19+
* #4612 Replace StringBuilder.Append(string.Join()) with StringBuilder.AppendJoin() for better performance.
20+
* #4611 Use char literals instead of string literals for single characters in StringBuilder.Append.
21+
* #4610 Replace string.Join with string.Concat for empty separator cases.
22+
* #4609 Optimize string.Join calls to use char separators instead of string separators.
23+
* #4608 Modernize dictionary access patterns with TryGetValue and deconstruction.
24+
* #4603 Fix .NET framework version detection.
225

3-
Feature
26+
### New in 5.1.0 (Released 2025/10/04)
427

528
* #4539 Add Woodpecker CI Support.
629
* #4436 Add support for capturing MSBuild properties, items and target results.

SECURITY.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
| Version | Supported |
66
| --------- | ------------------ |
7-
| 4.x.x | :white_check_mark: |
7+
| 6.x.x | :white_check_mark: |
8+
| 5.x.x | :x: |
9+
| 4.x.x | :x: |
810
| 3.x.x | :x: |
911
| 2.x.x | :x: |
1012
| 1.0.x | :x: |
@@ -19,15 +21,16 @@ Instead, either encrypted through Keybase chat
1921
- [keybase.io/cakebuild](https://keybase.io/cakebuild)
2022

2123
Or report them to us using NuGet.org *Contact owners*
22-
- [Cake](https://www.nuget.org/packages/Cake)
2324
- [Cake.Tool](https://www.nuget.org/packages/Cake.Tool)
2425
- [Cake.Frosting](https://www.nuget.org/packages/Cake.Frosting)
25-
- [Cake.CoreCLR](https://www.nuget.org/packages/Cake.CoreCLR)
2626
- [Cake.Core](https://www.nuget.org/packages/Cake.Core)
2727
- [Cake.Common](https://www.nuget.org/packages/Cake.Common)
2828
- [Cake.Testing](https://www.nuget.org/packages/Cake.Testing)
29+
- [Cake.Testing.Xunit](https://www.nuget.org/packages/Cake.Testing.Xunit)
30+
- [Cake.Testing.Xunit.v3](https://www.nuget.org/packages/Cake.Testing.Xunit.v3)
2931
- [Cake.NuGet](https://www.nuget.org/packages/Cake.NuGet)
3032
- [Cake.Cli](https://www.nuget.org/packages/Cake.Cli)
33+
- [Cake.DotNetTool.Module](https://www.nuget.org/packages/Cake.DotNetTool.Module)
3134

3235
If you prefer to submit without logging in, send an email to [security@cakebuild.net](mailto:security@cakebuild.net).
3336

appveyor.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ init:
55

66
# Build script
77
build_script:
8-
- ps: Invoke-RestMethod -Uri 'https://dot.net/v1/dotnet-install.ps1' -OutFile '.\dotnet-install.ps1'
9-
- ps: New-Item -Path .\.dotnet -ItemType Directory -Force | Out-Null
10-
- ps: .\dotnet-install.ps1 -Channel 6.0 -InstallDir .\.dotnet
8+
- ps: $env:CAKE_INSTALL_SUPPORTED_SDKS='true'
119
- ps: .\build.ps1 --target="AppVeyor"
1210

1311
# Tests

build.cake

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Task("Restore-NuGet-Packages")
8888
.IsDependentOn("Clean")
8989
.Does<BuildParameters>((context, parameters) =>
9090
{
91-
DotNetRestore("./src/Cake.sln", new DotNetRestoreSettings
91+
DotNetRestore("./src/Cake.slnx", new DotNetRestoreSettings
9292
{
9393
Verbosity = DotNetVerbosity.Minimal,
9494
Sources = new [] { "https://api.nuget.org/v3/index.json" },
@@ -101,7 +101,7 @@ Task("Build")
101101
.Does<BuildParameters>((context, parameters) =>
102102
{
103103
// Build the solution.
104-
var path = MakeAbsolute(new DirectoryPath("./src/Cake.sln"));
104+
var path = MakeAbsolute(new DirectoryPath("./src/Cake.slnx"));
105105
DotNetBuild(path.FullPath, new DotNetBuildSettings
106106
{
107107
Configuration = parameters.Configuration,
@@ -116,7 +116,7 @@ Task("Run-Unit-Tests")
116116
() => GetFiles("./src/**/*.Tests.csproj"),
117117
(parameters, project, context) =>
118118
{
119-
foreach (var framework in new[] { "net8.0", "net9.0" })
119+
foreach (var framework in new[] { "net8.0", "net9.0", "net10.0" })
120120
{
121121
FilePath testResultsPath = MakeAbsolute(parameters.Paths.Directories.TestResults
122122
.CombineWithFilePath($"{project.GetFilenameWithoutExtension()}_{framework}_TestResults.xml"));
@@ -207,6 +207,17 @@ Task("Upload-AppVeyor-Artifacts")
207207
}
208208
});
209209

210+
Task("Upload-GitHubActions-Artifacts")
211+
.IsDependentOn("Package")
212+
.WithCriteria(BuildSystem.IsRunningOnGitHubActions, nameof(BuildSystem.IsRunningOnGitHubActions))
213+
.Does<BuildParameters>(
214+
static (context, parameters) => context
215+
.GitHubActions() is var gh && gh != null
216+
? gh.Commands
217+
.UploadArtifact(parameters.Paths.Directories.NuGetRoot, $"Artifact_{gh.Environment.Runner.ImageOS ?? gh.Environment.Runner.OS}_{gh.Environment.Runner.Architecture}_{context.Environment.Runtime.BuiltFramework.Identifier}_{context.Environment.Runtime.BuiltFramework.Version}")
218+
: throw new Exception("GitHubActions not available")
219+
);
220+
210221
Task("Publish-AzureDevOps")
211222
.IsDependentOn("Sign-Binaries")
212223
.IsDependentOn("Package")
@@ -252,9 +263,8 @@ Task("Publish-AzureDevOps")
252263
})
253264
.OnError<BuildParameters>((exception, parameters) =>
254265
{
266+
// Azure Artifacts not critical
255267
Information("Publish-AzureDevOps Task failed, but continuing with next Task...");
256-
// Temp fix already published to Azure Artifacts
257-
// parameters.PublishingError = true;
258268
});
259269

260270
Task("Publish-NuGet")
@@ -390,7 +400,8 @@ Task("Run-Integration-Tests")
390400
.DoesForEach<BuildParameters, FilePath>(
391401
parameters => new[] {
392402
GetFiles($"{parameters.Paths.Directories.IntegrationTestsBinTool.FullPath}/**/net8.0/**/Cake.dll").Single(),
393-
GetFiles($"{parameters.Paths.Directories.IntegrationTestsBinTool.FullPath}/**/net9.0/**/Cake.dll").Single()
403+
GetFiles($"{parameters.Paths.Directories.IntegrationTestsBinTool.FullPath}/**/net9.0/**/Cake.dll").Single(),
404+
GetFiles($"{parameters.Paths.Directories.IntegrationTestsBinTool.FullPath}/**/net10.0/**/Cake.dll").Single()
394405
},
395406
(parameters, cakeAssembly, context) =>
396407
{
@@ -406,7 +417,7 @@ Task("Run-Integration-Tests")
406417
},
407418
ArgumentCustomization = args => args
408419
.AppendSwitchQuoted("--target", " ", Argument("integration-tests-target", "Run-All-Tests"))
409-
.AppendSwitchQuoted("--verbosity", " ", "quiet")
420+
.AppendSwitchQuoted("--verbosity", " ", Argument("integration-tests-verbosity", "quiet"))
410421
.AppendSwitchQuoted("--platform", " ", parameters.IsRunningOnWindows ? "windows" : "posix")
411422
.AppendSwitchQuoted("--customarg", " ", "hello")
412423
.AppendSwitchQuoted("--multipleargs", "=", "a")
@@ -444,10 +455,12 @@ Task("AppVeyor")
444455

445456

446457
Task("GitHubActions")
458+
.IsDependentOn("Upload-GitHubActions-Artifacts")
447459
.IsDependentOn("Run-Integration-Tests")
448460
.IsDependentOn("Publish-AzureDevOps");
449461

450462
Task("GitHubActions-Release")
463+
.IsDependentOn("Upload-GitHubActions-Artifacts")
451464
.IsDependentOn("Publish-AzureDevOps")
452465
.IsDependentOn("Publish-NuGet")
453466
.IsDependentOn("Publish-GitHub-Release")
@@ -457,7 +470,7 @@ Task("GitHubActions-Release")
457470
{
458471
throw new Exception("An error occurred during the publishing of Cake. All publishing tasks have been attempted.");
459472
}
460-
});;
473+
});
461474

462475
Task("Travis")
463476
.IsDependentOn("Run-Unit-Tests");

0 commit comments

Comments
 (0)