Skip to content

Commit 2ec36ac

Browse files
authored
fix CI (slnx vs sln) (#1002)
* add dummy change * try fix * replace .NET infor with dotnet --info in CI * better fix * Add null check for SDK before version comparison * Remove empty lines in CHANGELOG.md * Fix condition to check SDK version for solution format * Fix logical operator in NewSolutionCommandBuilder
1 parent 73d975e commit 2ec36ac

File tree

4 files changed

+41
-39
lines changed

4 files changed

+41
-39
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -443,8 +443,7 @@ jobs:
443443
dotnet-version: ${{ env.DOTNET_VERSIONS }}
444444
- name: .NET Information
445445
run: |
446-
dotnet --list-sdks
447-
dotnet --list-runtimes
446+
dotnet --info
448447
- name: System Tests
449448
shell: pwsh
450449
run: dotnet test ./Tests/Reqnroll.SystemTests/bin/${{ needs.build.outputs.product_configuration }}/*/Reqnroll.SystemTests.dll --logger "trx;LogFileName=${{ github.workspace }}/TestResults/systemtests-windows-results.trx" ${{ needs.build.outputs.test_params }}
@@ -504,8 +503,7 @@ jobs:
504503
dotnet-version: ${{ env.DOTNET_VERSIONS }}
505504
- name: .NET Information
506505
run: |
507-
dotnet --list-sdks
508-
dotnet --list-runtimes
506+
dotnet --info
509507
- name: System Tests
510508
shell: pwsh
511509
run: dotnet test ./Tests/Reqnroll.SystemTests/bin/${{ needs.build.outputs.product_configuration }}/*/Reqnroll.SystemTests.dll --filter "TestCategory!=MsBuild&TestCategory!=NetFramework" --logger "trx;LogFileName=${{ github.workspace }}/TestResults/systemtests-linux-results.trx" ${{ needs.build.outputs.test_params }}
Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,40 @@
1-
namespace Reqnroll.TestProjectGenerator.Dotnet
2-
{
3-
public partial class NewCommandBuilder
4-
{
5-
public class NewSolutionCommandBuilder : BaseCommandBuilder
6-
{
7-
protected string _name;
8-
protected string _rootPath;
9-
10-
public NewSolutionCommandBuilder InFolder(string rootPath)
11-
{
12-
_rootPath = rootPath;
13-
return this;
14-
}
1+
using Reqnroll.TestProjectGenerator.FilesystemWriter;
152

16-
public NewSolutionCommandBuilder WithName(string name)
17-
{
18-
_name = name;
19-
return this;
20-
}
3+
namespace Reqnroll.TestProjectGenerator.Dotnet;
214

22-
protected override string GetWorkingDirectory()
23-
{
24-
return _rootPath;
25-
}
5+
public partial class NewCommandBuilder
6+
{
7+
public class NewSolutionCommandBuilder(IOutputWriter outputWriter, DotNetSdkInfo sdk) : BaseCommandBuilder(outputWriter)
8+
{
9+
protected string _name;
10+
protected string _rootPath;
11+
protected DotNetSdkInfo _sdk = sdk;
2612

27-
protected override string BuildArguments()
28-
{
29-
string arguments = $"new sln";
30-
arguments = AddArgument(arguments, "-n", _name);
31-
arguments = AddArgument(arguments, "-o", "\"" + _rootPath + "\"");
13+
public NewSolutionCommandBuilder InFolder(string rootPath)
14+
{
15+
_rootPath = rootPath;
16+
return this;
17+
}
3218

33-
return arguments;
34-
}
19+
public NewSolutionCommandBuilder WithName(string name)
20+
{
21+
_name = name;
22+
return this;
23+
}
3524

25+
protected override string GetWorkingDirectory()
26+
{
27+
return _rootPath;
28+
}
3629

37-
public NewSolutionCommandBuilder(IOutputWriter outputWriter) : base(outputWriter)
38-
{
39-
}
30+
protected override string BuildArguments()
31+
{
32+
string arguments = "new sln";
33+
arguments = AddArgument(arguments, "-n", _name);
34+
arguments = AddArgument(arguments, "-o", "\"" + _rootPath + "\"");
35+
if (_sdk == null || _sdk.GetParsedVersion().Major >= 10)
36+
arguments = AddArgument(arguments, "-f", "sln"); // force sln format (the default has changed to slnx)
37+
return arguments;
4038
}
4139
}
42-
4340
}

Tests/TestProjectGenerator/Reqnroll.TestProjectGenerator/Dotnet/NewCommandBuilder.StubNewSolutionCommandBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace Reqnroll.TestProjectGenerator.Dotnet;
44

55
public partial class NewCommandBuilder
66
{
7-
public class StubNewSolutionCommandBuilder(IOutputWriter outputWriter, DotNetSdkInfo _sdk) : NewSolutionCommandBuilder(outputWriter)
7+
public class StubNewSolutionCommandBuilder(IOutputWriter outputWriter, DotNetSdkInfo sdk) : NewSolutionCommandBuilder(outputWriter, sdk)
88
{
99
public override CommandBuilder Build()
1010
{

Tests/TestProjectGenerator/Reqnroll.TestProjectGenerator/FilesystemWriter/DotNetSdkInfo.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System;
2+
13
namespace Reqnroll.TestProjectGenerator.FilesystemWriter
24
{
35
public class DotNetSdkInfo
@@ -8,5 +10,10 @@ internal DotNetSdkInfo(string version)
810
}
911

1012
public string Version { get; }
13+
14+
public Version GetParsedVersion()
15+
{
16+
return Version != null ? new Version(Version) : throw new InvalidOperationException("Version is null");
17+
}
1118
}
1219
}

0 commit comments

Comments
 (0)