Skip to content

Commit ebaeecc

Browse files
committed
Merge branch 'release/4.2.0'
* release/4.2.0: Bump JetBrains.Annotations from 2022.1.0 to 2022.3.1 (#114) added Cake.GitHubActions.Module (build) Switch to using latest Ubuntu image (build) Update OS'es for matrix build Bump actions/setup-dotnet from 3.0.2 to 3.0.3 Bump actions/setup-dotnet from 3.0.1 to 3.0.2 Bump actions/setup-dotnet from 3.0.0 to 3.0.1 Bump actions/setup-dotnet from 2 to 3.0.0 (maint) pinned to Cake 1.3.0 Bump Cake.Recipe from 2.2.1 to 3.0.1 Bump cake-build/cake-action from 1.4.0 to 1.4.1 Bump github/codeql-action from 1 to 2 Bump JetBrains.Annotations from 2021.3.0 to 2022.1.0 Bump actions/upload-artifact from 2 to 3 Bump actions/cache from 2.1.7 to 3 Bump actions/checkout from 2.4.0 to 3 Bump actions/setup-dotnet from 1.9.1 to 2 Bump actions/setup-dotnet from 1.9.0 to 1.9.1
2 parents 09c7ce5 + 90bc49e commit ebaeecc

File tree

18 files changed

+265
-49
lines changed

18 files changed

+265
-49
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": "0.38.5",
6+
"version": "1.3.0",
77
"commands": [
88
"dotnet-cake"
99
]

.github/workflows/build.yml

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: ${{ matrix.os }}
2020
strategy:
2121
matrix:
22-
os: [ windows-2019, ubuntu-18.04, macos-10.15 ]
22+
os: [windows-latest, macos-latest, ubuntu-latest]
2323

2424
env:
2525
AZURE_PASSWORD: ${{ secrets.AZURE_PASSWORD }}
@@ -44,46 +44,45 @@ jobs:
4444

4545
steps:
4646
- name: Checkout the repository
47-
uses: actions/checkout@v2.4.0
47+
uses: actions/checkout@v3
4848

4949
- name: Fetch all tags and branches
5050
run: git fetch --prune --unshallow
5151

52-
- uses: actions/setup-dotnet@v1.9.0
52+
- uses: actions/setup-dotnet@v3.0.3
5353
with:
5454
# codecov and unittests need 2.1
5555
dotnet-version: '2.1.818'
56-
- uses: actions/setup-dotnet@v1.9.0
56+
- uses: actions/setup-dotnet@v3.0.3
5757
with:
5858
dotnet-version: '3.1.414'
59-
- uses: actions/setup-dotnet@v1.9.0
59+
- uses: actions/setup-dotnet@v3.0.3
6060
with:
6161
# gitversion needs 5.0
6262
dotnet-version: '5.0.402'
63-
- uses: actions/setup-dotnet@v1.9.0
63+
- uses: actions/setup-dotnet@v3.0.3
6464
with:
65-
# need at least .NET 6 rc2 to build
66-
dotnet-version: '6.0.100-rc.2.21505.57'
65+
# need at least .NET 6 to build
66+
dotnet-version: '6.0.400'
6767
include-prerelease: true
6868

6969
- name: Cache Tools
70-
uses: actions/cache@v2.1.7
70+
uses: actions/cache@v3
7171
with:
7272
path: tools
7373
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}
7474

7575
- name: Build project
76-
uses: cake-build/[email protected].0
76+
uses: cake-build/[email protected].1
7777
with:
7878
script-path: recipe.cake
7979
target: CI
8080
verbosity: Diagnostic
81-
cake-version: 0.38.5
82-
cake-bootstrap: true
81+
cake-version: 1.3.0
8382

8483
# currently, Cake.Recipe does not upload artifacts when run on gh-actions
8584
- name: Upload Issues
86-
uses: actions/upload-artifact@v2
85+
uses: actions/upload-artifact@v3
8786
with:
8887
if-no-files-found: warn
8988
name: ${{ matrix.os }} Issues
@@ -92,9 +91,9 @@ jobs:
9291
BuildArtifacts/**/coverlet/*.xml
9392
9493
- name: Upload Packages
95-
uses: actions/upload-artifact@v2
94+
uses: actions/upload-artifact@v3
9695
if: runner.os == 'Windows'
9796
with:
9897
if-no-files-found: warn
9998
name: package
100-
path: BuildArtifacts/Packages/**/*
99+
path: BuildArtifacts/Packages/**/*

.github/workflows/codeql-analysis.yml

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
jobs:
1212
analyze:
1313
name: Analyze
14-
runs-on: ubuntu-18.04
14+
runs-on: ubuntu-latest
1515

1616
strategy:
1717
fail-fast: false
@@ -20,45 +20,44 @@ jobs:
2020

2121
steps:
2222
- name: Checkout repository
23-
uses: actions/checkout@v2.4.0
23+
uses: actions/checkout@v3
2424
with:
2525
fetch-depth: 0
2626

27-
- uses: actions/setup-dotnet@v1.9.0
27+
- uses: actions/setup-dotnet@v3.0.3
2828
with:
2929
# codecov and unittests need 2.1
3030
dotnet-version: '2.1.818'
31-
- uses: actions/setup-dotnet@v1.9.0
31+
- uses: actions/setup-dotnet@v3.0.3
3232
with:
3333
dotnet-version: '3.1.414'
34-
- uses: actions/setup-dotnet@v1.9.0
34+
- uses: actions/setup-dotnet@v3.0.3
3535
with:
3636
# gitversion needs 5.0
3737
dotnet-version: '5.0.402'
38-
- uses: actions/setup-dotnet@v1.9.0
38+
- uses: actions/setup-dotnet@v3.0.3
3939
with:
40-
# need at least .NET 6 rc2 to build
41-
dotnet-version: '6.0.100-rc.2.21505.57'
40+
# need at least .NET 6 to build
41+
dotnet-version: '6.0.400'
4242
include-prerelease: true
4343

4444
- name: Cache Tools
45-
uses: actions/cache@v2.1.7
45+
uses: actions/cache@v3
4646
with:
4747
path: tools
4848
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}
4949

5050
- name: Initialize CodeQL
51-
uses: github/codeql-action/init@v1
51+
uses: github/codeql-action/init@v2
5252
with:
5353
languages: ${{ matrix.language }}
5454

5555
- name: Build project
56-
uses: cake-build/[email protected].0
56+
uses: cake-build/[email protected].1
5757
with:
5858
script-path: recipe.cake
5959
target: DotNetCore-Build
60-
cake-version: 0.38.5
61-
cake-bootstrap: true
60+
cake-version: 1.3.0
6261

6362
- name: Perform CodeQL Analysis
64-
uses: github/codeql-action/analyze@v1
63+
uses: github/codeql-action/analyze@v2

build.ps1

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,5 @@ $env:DOTNET_NOLOGO = '1'
99
dotnet tool restore
1010
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
1111

12-
dotnet cake recipe.cake --bootstrap
13-
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
14-
1512
dotnet cake recipe.cake @args
1613
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

build.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,4 @@ export DOTNET_NOLOGO=1
99

1010
dotnet tool restore
1111

12-
dotnet cake recipe.cake --bootstrap
13-
1412
dotnet cake recipe.cake "$@"

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"sdk": {
33
"allowPrerelease": true,
4-
"version": "6.0.100-rc.2",
4+
"version": "6.0.400",
55
"rollForward": "latestFeature"
66
}
77
}

recipe.cake

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
#load nuget:?package=Cake.Recipe&version=2.2.1
2-
3-
// Workaround for https://github.com/cake-contrib/Cake.Recipe/issues/854
4-
#tool nuget:?package=NuGet.CommandLine&version=5.8.1
1+
#load nuget:?package=Cake.Recipe&version=3.0.1
52

63
Environment.SetVariableNames();
74

@@ -13,7 +10,6 @@ BuildParameters.SetParameters(
1310
sourceDirectoryPath: "./src",
1411
title: "Cake.BuildSystems.Module",
1512
repositoryOwner: "cake-contrib",
16-
shouldRunDupFinder: false, // leave this out, for now.
1713
shouldRunDotNetCorePack: true,
1814
shouldUseDeterministicBuilds: true,
1915
gitterMessage: "@/all " + standardNotificationMessage,
@@ -25,7 +21,4 @@ BuildParameters.PrintParameters(Context);
2521

2622
ToolSettings.SetToolSettings(context: Context);
2723

28-
ToolSettings.SetToolPreprocessorDirectives(
29-
reSharperTools: "#tool nuget:?package=JetBrains.ReSharper.CommandLineTools&version=2021.2.0");
30-
3124
Build.RunDotNetCore();

src/Cake.AzurePipelines.Module/Cake.AzurePipelines.Module.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<ItemGroup>
1515
<PackageReference Include="Cake.Core" Version="2.0.0" PrivateAssets="All" />
1616
<PackageReference Include="Cake.Common" Version="2.0.0" PrivateAssets="All" />
17-
<PackageReference Include="JetBrains.Annotations" Version="2021.3.0" PrivateAssets="All" />
17+
<PackageReference Include="JetBrains.Annotations" Version="2022.3.1" PrivateAssets="All" />
1818
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1">
1919
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2020
<PrivateAssets>all</PrivateAssets>

src/Cake.BuildSystems.Module.sln

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cake.MyGet.Module", "Cake.M
2323
EndProject
2424
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cake.BuildSystems.Module", "Cake.BuildSystems.Module\Cake.BuildSystems.Module.csproj", "{F9A7A095-162B-416D-9BBD-90EB447111EC}"
2525
EndProject
26+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cake.GitHubActions.Module", "Cake.GitHubActions.Module\Cake.GitHubActions.Module.csproj", "{A6BAA454-179C-422C-A954-38852265722F}"
27+
EndProject
2628
Global
2729
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2830
Debug|Any CPU = Debug|Any CPU
@@ -101,6 +103,18 @@ Global
101103
{F9A7A095-162B-416D-9BBD-90EB447111EC}.Release|x64.Build.0 = Release|Any CPU
102104
{F9A7A095-162B-416D-9BBD-90EB447111EC}.Release|x86.ActiveCfg = Release|Any CPU
103105
{F9A7A095-162B-416D-9BBD-90EB447111EC}.Release|x86.Build.0 = Release|Any CPU
106+
{A6BAA454-179C-422C-A954-38852265722F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
107+
{A6BAA454-179C-422C-A954-38852265722F}.Debug|Any CPU.Build.0 = Debug|Any CPU
108+
{A6BAA454-179C-422C-A954-38852265722F}.Debug|x64.ActiveCfg = Debug|Any CPU
109+
{A6BAA454-179C-422C-A954-38852265722F}.Debug|x64.Build.0 = Debug|Any CPU
110+
{A6BAA454-179C-422C-A954-38852265722F}.Debug|x86.ActiveCfg = Debug|Any CPU
111+
{A6BAA454-179C-422C-A954-38852265722F}.Debug|x86.Build.0 = Debug|Any CPU
112+
{A6BAA454-179C-422C-A954-38852265722F}.Release|Any CPU.ActiveCfg = Release|Any CPU
113+
{A6BAA454-179C-422C-A954-38852265722F}.Release|Any CPU.Build.0 = Release|Any CPU
114+
{A6BAA454-179C-422C-A954-38852265722F}.Release|x64.ActiveCfg = Release|Any CPU
115+
{A6BAA454-179C-422C-A954-38852265722F}.Release|x64.Build.0 = Release|Any CPU
116+
{A6BAA454-179C-422C-A954-38852265722F}.Release|x86.ActiveCfg = Release|Any CPU
117+
{A6BAA454-179C-422C-A954-38852265722F}.Release|x86.Build.0 = Release|Any CPU
104118
EndGlobalSection
105119
GlobalSection(SolutionProperties) = preSolution
106120
HideSolutionNode = FALSE

src/Cake.BuildSystems.Module/Cake.BuildSystems.Module.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@
4343
<ProjectReference Include="..\Cake.TravisCI.Module\Cake.TravisCI.Module.csproj">
4444
<PrivateAssets>all</PrivateAssets>
4545
</ProjectReference>
46+
<ProjectReference Include="..\Cake.GitHubActions.Module\Cake.GitHubActions.Module.csproj">
47+
<PrivateAssets>all</PrivateAssets>
48+
</ProjectReference>
4649
</ItemGroup>
4750

4851
<ItemGroup>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netcoreapp3.1</TargetFramework>
5+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
6+
<AssemblyName>Cake.GitHubActions.Module</AssemblyName>
7+
<IsPackable>false</IsPackable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<ProjectReference Include="..\Cake.Module.Shared\Cake.Module.Shared.csproj" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<PackageReference Include="Cake.Core" Version="2.0.0" PrivateAssets="All" />
16+
<PackageReference Include="Cake.Common" Version="2.0.0" PrivateAssets="All" />
17+
<PackageReference Include="JetBrains.Annotations" Version="2022.3.1" PrivateAssets="All" />
18+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1">
19+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
20+
<PrivateAssets>all</PrivateAssets>
21+
</PackageReference>
22+
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
23+
<PrivateAssets>all</PrivateAssets>
24+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25+
</PackageReference>
26+
</ItemGroup>
27+
</Project>
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
using Cake.Common.Build;
2+
using Cake.Core;
3+
using Cake.Core.Diagnostics;
4+
using Cake.Module.Shared;
5+
6+
using JetBrains.Annotations;
7+
8+
namespace Cake.GitHubActions.Module
9+
{
10+
/// <summary>
11+
/// <see cref="ICakeEngine"/> implementation for GitHub Actions.
12+
/// </summary>
13+
[UsedImplicitly]
14+
public sealed class GitHubActionsEngine : CakeEngineBase
15+
{
16+
private readonly IConsole _console;
17+
18+
/// <summary>
19+
/// Initializes a new instance of the <see cref="GitHubActionsEngine"/> class.
20+
/// </summary>
21+
/// <param name="dataService">Implementation of <see cref="ICakeDataService"/>.</param>
22+
/// <param name="log">Implementation of <see cref="ICakeLog"/>.</param>
23+
/// <param name="console">Implementation of <see cref="IConsole"/>.</param>
24+
public GitHubActionsEngine(ICakeDataService dataService, ICakeLog log, IConsole console)
25+
: base(new CakeEngine(dataService, log))
26+
{
27+
_console = console;
28+
_engine.BeforeSetup += OnBeforeSetup;
29+
_engine.AfterSetup += OnAfterSetup;
30+
_engine.BeforeTaskSetup += OnBeforeTaskSetup;
31+
_engine.BeforeTaskTeardown += OnBeforeTaskTeardown;
32+
_engine.BeforeTeardown += OnBeforeBuildTeardown;
33+
_engine.AfterTeardown += OnAfterBuildTeardown;
34+
}
35+
36+
private void WriteStartBlock(BuildSystem buildSystem, string name)
37+
{
38+
if (!buildSystem.IsRunningOnGitHubActions)
39+
{
40+
return;
41+
}
42+
43+
_console.WriteLine($"::group::{name}");
44+
}
45+
46+
private void WriteEndBlock(BuildSystem buildSystem)
47+
{
48+
if (!buildSystem.IsRunningOnGitHubActions)
49+
{
50+
return;
51+
}
52+
53+
_console.WriteLine("::endgroup::");
54+
}
55+
56+
private void OnBeforeSetup(object sender, BeforeSetupEventArgs e)
57+
{
58+
WriteStartBlock(e.Context.BuildSystem(), "Setup");
59+
}
60+
61+
private void OnAfterSetup(object sender, AfterSetupEventArgs e)
62+
{
63+
WriteEndBlock(e.Context.BuildSystem());
64+
}
65+
66+
private void OnBeforeTaskSetup(object sender, BeforeTaskSetupEventArgs e)
67+
{
68+
WriteStartBlock(e.TaskSetupContext.BuildSystem(), e.TaskSetupContext.Task.Name);
69+
}
70+
71+
private void OnBeforeTaskTeardown(object sender, BeforeTaskTeardownEventArgs e)
72+
{
73+
WriteEndBlock(e.TaskTeardownContext.BuildSystem());
74+
}
75+
76+
private void OnBeforeBuildTeardown(object sender, BeforeTeardownEventArgs e)
77+
{
78+
WriteStartBlock(e.TeardownContext.BuildSystem(), "Teardown");
79+
}
80+
81+
private void OnAfterBuildTeardown(object sender, AfterTeardownEventArgs e)
82+
{
83+
WriteEndBlock(e.TeardownContext.BuildSystem());
84+
}
85+
}
86+
}

0 commit comments

Comments
 (0)