Skip to content

Commit

Permalink
fix: pipeline does not run with different versions (#741)
Browse files Browse the repository at this point in the history
Adjust the pipeline so that it runs despite having different versions.
  • Loading branch information
vbreuss authored Jan 31, 2025
1 parent 564a889 commit 8b84861
Show file tree
Hide file tree
Showing 18 changed files with 98 additions and 117 deletions.
111 changes: 56 additions & 55 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,57 +1,58 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="DotNet.Glob" Version="3.1.3"/>
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3"/>
<PackageVersion Include="System.Linq.Async" Version="6.0.1"/>
<PackageVersion Include="System.IO.Compression" Version="4.3.0"/>
<PackageVersion Include="System.IO.FileSystem.AccessControl" Version="5.0.0"/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<PackageVersion Include="System.Threading.Channels" Version="6.0.0"/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
<PackageVersion Include="System.Threading.Channels" Version="8.0.0"/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' != 'net8.0' And '$(TargetFramework)' != 'net6.0' ">
<PackageVersion Include="System.Threading.Channels" Version="9.0.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Nullable" Version="1.3.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Nuke.Common" Version="9.0.4"/>
<PackageVersion Include="Nuke.Components" Version="9.0.4"/>
<PackageVersion Include="LibGit2Sharp" Version="0.31.0"/>
<PackageVersion Include="SharpCompress" Version="0.38.0"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0"/>
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0"/>
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="AutoFixture.AutoNSubstitute" Version="5.0.0-preview0012"/>
<PackageVersion Include="AutoFixture.Xunit3" Version="5.0.0-preview0012"/>
<PackageVersion Include="aweXpect" Version="0.24.0-DEV.2"/>
<PackageVersion Include="aweXpect.Testably" Version="0.5.0-pre.1"/>
<PackageVersion Include="FluentAssertions" Version="7.1.0"/>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0"/>
<PackageVersion Include="xunit.v3" Version="1.0.1"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.1"/>
<PackageVersion Include="coverlet.collector" Version="6.0.4"/>
<PackageVersion Include="PublicApiGenerator" Version="11.3.0"/>
<PackageVersion Include="NUnit" Version="4.3.2"/>
<PackageVersion Include="NUnit.Analyzers" Version="4.6.0"/>
<PackageVersion Include="NUnit3TestAdapter" Version="4.6.0"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Testably.Abstractions" Version="9.0.0"/>
<PackageVersion Include="Testably.Abstractions.Testing" Version="3.3.0-pre.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Meziantou.Analyzer" Version="2.0.186"/>
</ItemGroup>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="DotNet.Glob" Version="3.1.3"/>
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3"/>
<PackageVersion Include="System.Linq.Async" Version="6.0.1"/>
<PackageVersion Include="System.IO.Compression" Version="4.3.0"/>
<PackageVersion Include="System.IO.FileSystem.AccessControl" Version="5.0.0"/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<PackageVersion Include="System.Threading.Channels" Version="6.0.0"/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
<PackageVersion Include="System.Threading.Channels" Version="8.0.0"/>
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' != 'net8.0' And '$(TargetFramework)' != 'net6.0' ">
<PackageVersion Include="System.Threading.Channels" Version="9.0.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Nullable" Version="1.3.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Nuke.Common" Version="9.0.4"/>
<PackageVersion Include="Nuke.Components" Version="9.0.4"/>
<PackageVersion Include="LibGit2Sharp" Version="0.31.0"/>
<PackageVersion Include="SharpCompress" Version="0.38.0"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0"/>
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0"/>
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="AutoFixture.AutoNSubstitute" Version="5.0.0-preview0012"/>
<PackageVersion Include="AutoFixture.Xunit3" Version="5.0.0-preview0012"/>
<PackageVersion Include="aweXpect" Version="0.24.0-DEV.2"/>
<PackageVersion Include="aweXpect.Testably" Version="0.5.0-pre.1"/>
<PackageVersion Include="FluentAssertions" Version="7.1.0"/>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0"/>
<PackageVersion Include="xunit.v3" Version="1.0.1"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.1"/>
<PackageVersion Include="coverlet.collector" Version="6.0.4"/>
<PackageVersion Include="PublicApiGenerator" Version="11.3.0"/>
<PackageVersion Include="NUnit" Version="4.3.2"/>
<PackageVersion Include="NUnit.Analyzers" Version="4.6.0"/>
<PackageVersion Include="NUnit3TestAdapter" Version="4.6.0"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Testably.Abstractions.Interface" Version="9.0.0"/>
<PackageVersion Include="Testably.Abstractions" Version="9.0.0"/>
<PackageVersion Include="Testably.Abstractions.Testing" Version="3.3.0-pre.1"/>
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Meziantou.Analyzer" Version="2.0.186"/>
</ItemGroup>
</Project>
3 changes: 1 addition & 2 deletions Pipeline/Build.ApiChecks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ partial class Build
Project project = Solution.Tests.Api.Testably_Abstractions_Api_Tests;

DotNetTest(s => s
.SetConfiguration(Configuration == Configuration.Debug ? "Debug" : "Release")
.SetConfiguration(Configuration)
.SetProcessEnvironmentVariable("DOTNET_CLI_UI_LANGUAGE", "en-US")
.EnableNoBuild()
.SetResultsDirectory(TestResultsDirectory)
.CombineWith(cc => cc
.SetProjectFile(project)
Expand Down
36 changes: 18 additions & 18 deletions Pipeline/Build.Compile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ partial class Build

CoreProjects =
[
Solution.Testably_Abstractions,
Solution.Testably_Abstractions_Interface,
Solution.Testably_Abstractions_FileSystem_Interface,
Solution.Core.Testably_Abstractions,
Solution.Core.Testably_Abstractions_Interface,
Solution.Core.Testably_Abstractions_FileSystem_Interface,
];

string preRelease = "-CI";
Expand Down Expand Up @@ -120,23 +120,23 @@ partial class Build
ReportSummary(s => s
.WhenNotNull(SemVer, (summary, semVer) => summary
.AddPair("Version", semVer)));


UpdateReadme(MainVersion!.FileVersion, false);
foreach (var mainProject in MainProjects)
{
ClearNugetPackages(mainProject.Directory / "bin");
DotNetBuild(s => s
.SetProjectFile(mainProject)
.SetConfiguration(Configuration)
.EnableNoLogo()
.EnableNoRestore()
.SetProcessAdditionalArguments($"/p:SolutionDir={RootDirectory}/")
.SetVersion(MainVersion.FileVersion + CoreVersion!.PreRelease)
.SetAssemblyVersion(MainVersion.FileVersion)
.SetFileVersion(MainVersion.FileVersion));
}

UpdateReadme(MainVersion.FileVersion, false);
DotNetBuild(s => s
.SetProjectFile(Solution)
.SetConfiguration(Configuration)
.EnableNoLogo()
.EnableNoRestore()
.SetVersion(MainVersion!.FileVersion + CoreVersion.PreRelease)
.SetAssemblyVersion(MainVersion!.FileVersion)
.SetFileVersion(MainVersion!.FileVersion));

UpdateReadme(CoreVersion.FileVersion, true);
UpdateReadme(CoreVersion!.FileVersion, true);
foreach (var coreProject in CoreProjects)
{
ClearNugetPackages(coreProject.Directory / "bin");
Expand All @@ -146,9 +146,9 @@ partial class Build
.EnableNoLogo()
.EnableNoRestore()
.SetProcessAdditionalArguments($"/p:SolutionDir={RootDirectory}/")
.SetVersion(CoreVersion!.FileVersion + CoreVersion.PreRelease)
.SetAssemblyVersion(CoreVersion!.FileVersion)
.SetFileVersion(CoreVersion!.FileVersion));
.SetVersion(CoreVersion.FileVersion + CoreVersion.PreRelease)
.SetAssemblyVersion(CoreVersion.FileVersion)
.SetFileVersion(CoreVersion.FileVersion));
}
});

Expand Down
2 changes: 1 addition & 1 deletion Pipeline/Build.MutationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ await gitHubClient.Issue.Comment.Update("Testably", "Testably.Abstractions",
[Solution.Tests.Testably_Abstractions_Compression_Tests]
},
{
Solution.Testably_Abstractions, [
Solution.Core.Testably_Abstractions, [
Solution.Tests.Testably_Abstractions_Testing_Tests,
Solution.Tests.Testably_Abstractions_Tests
]
Expand Down
1 change: 0 additions & 1 deletion Pipeline/Build.UnitTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ partial class Build
DotNetTest(s => s
.SetConfiguration(Configuration)
.SetProcessEnvironmentVariable("DOTNET_CLI_UI_LANGUAGE", "en-US")
.EnableNoBuild()
.SetDataCollector("XPlat Code Coverage")
.SetResultsDirectory(TestResultsDirectory)
.CombineWith(
Expand Down
1 change: 0 additions & 1 deletion Pipeline/Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,5 @@ partial class Build : NukeBuild
public static int Main() => Execute<Build>([
x => x.ApiChecks,
x => x.UnitTests,
x => x.MutationTests,
]);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Testably.Abstractions.Interface\Testably.Abstractions.Interface.csproj" />
<PackageReference Include="Testably.Abstractions.Interface" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Testably.Abstractions.Interface\Testably.Abstractions.Interface.csproj" />
<PackageReference Include="Testably.Abstractions.Interface" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Testably.Abstractions.Interface\Testably.Abstractions.Interface.csproj" />
<PackageReference Include="Testably.Abstractions.Interface" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion Source/Testably.Abstractions/Testably.Abstractions.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Testably.Abstractions.Interface\Testably.Abstractions.Interface.csproj" />
<PackageReference Include="Testably.Abstractions.Interface" />
</ItemGroup>

<ItemGroup>
Expand Down
5 changes: 5 additions & 0 deletions Testably.Abstractions.sln
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build", "Pipeline\Build.csp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Testably.Abstractions.FileSystem.Interface", "Source\Testably.Abstractions.FileSystem.Interface\Testably.Abstractions.FileSystem.Interface.csproj", "{B9DFD3C7-44B7-4A38-A2B7-A96B5BC3651C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{F049D1AF-3FB0-43F0-B7EE-225C37D5D142}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -192,6 +194,9 @@ Global
{241E6413-819C-4B06-A739-4D10C2A81365} = {D32170F4-1455-4839-8EF4-9530F3AA642A}
{D32170F4-1455-4839-8EF4-9530F3AA642A} = {61F335A6-9CE0-4040-A34F-E70B1A55077D}
{5C03DA5C-4F3B-44F5-ACED-28B38B5EE68F} = {6C54481B-E85D-4207-9FE7-F4FBE7325DB0}
{735108ED-5257-4DEC-8C6A-B09397CBDB29} = {F049D1AF-3FB0-43F0-B7EE-225C37D5D142}
{B9DFD3C7-44B7-4A38-A2B7-A96B5BC3651C} = {F049D1AF-3FB0-43F0-B7EE-225C37D5D142}
{E447F0BC-7630-41E2-9EA3-DC065827694C} = {F049D1AF-3FB0-43F0-B7EE-225C37D5D142}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EC4D8481-B9FD-41B5-832A-369210993DF4}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,49 +6,33 @@ namespace Testably.Abstractions
{
public static class DirectoryAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void CreateDirectory(this System.IO.Abstractions.IDirectory directory, string path, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectory directory, string path) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectory directory, string path, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IDirectory directory, string path, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
}
public static class DirectoryInfoAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void Create(this System.IO.Abstractions.IDirectoryInfo directoryInfo, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectoryInfo directoryInfo) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectoryInfo directoryInfo, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IDirectoryInfo directoryInfo, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
}
public static class FileAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFile file, string path) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFile file, string path, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IFile file, string path, System.Security.AccessControl.FileSecurity fileSecurity) { }
}
public static class FileInfoAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFileInfo fileInfo) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFileInfo fileInfo, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IFileInfo fileInfo, System.Security.AccessControl.FileSecurity fileSecurity) { }
}
public static class FileStreamAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.FileSystemStream fileStream) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.FileSystemStream fileStream, System.Security.AccessControl.FileSecurity fileSecurity) { }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,49 +6,33 @@ namespace Testably.Abstractions
{
public static class DirectoryAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void CreateDirectory(this System.IO.Abstractions.IDirectory directory, string path, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectory directory, string path) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectory directory, string path, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IDirectory directory, string path, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
}
public static class DirectoryInfoAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void Create(this System.IO.Abstractions.IDirectoryInfo directoryInfo, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectoryInfo directoryInfo) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.DirectorySecurity GetAccessControl(this System.IO.Abstractions.IDirectoryInfo directoryInfo, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IDirectoryInfo directoryInfo, System.Security.AccessControl.DirectorySecurity directorySecurity) { }
}
public static class FileAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFile file, string path) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFile file, string path, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IFile file, string path, System.Security.AccessControl.FileSecurity fileSecurity) { }
}
public static class FileInfoAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFileInfo fileInfo) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.IFileInfo fileInfo, System.Security.AccessControl.AccessControlSections includeSections) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.IFileInfo fileInfo, System.Security.AccessControl.FileSecurity fileSecurity) { }
}
public static class FileStreamAclExtensions
{
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static System.Security.AccessControl.FileSecurity GetAccessControl(this System.IO.Abstractions.FileSystemStream fileStream) { }
[Testably.Abstractions.Polyfills.SupportedOSPlatform("windows")]
public static void SetAccessControl(this System.IO.Abstractions.FileSystemStream fileStream, System.Security.AccessControl.FileSecurity fileSecurity) { }
}
}
Loading

0 comments on commit 8b84861

Please sign in to comment.