From b23e91651c3c6509b5a4d92c7ebbe3720e0734ea Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Fri, 12 Jul 2024 15:15:19 +0100 Subject: [PATCH] switch from minver to gitversion --- .config/dotnet-tools.json | 6 ++++++ .github/workflows/ci.yml | 3 +++ .github/workflows/main.yml | 5 +++-- Directory.Build.props | 1 - Directory.Packages.props | 1 - GitVersion.yml | 11 ++++++++++ build/Program.cs | 20 ++++++++++++++++++- build/packages.lock.json | 6 ------ src/Speckle.Core/packages.lock.json | 6 ------ src/Speckle.Objects/packages.lock.json | 6 ------ .../packages.lock.json | 6 ------ .../packages.lock.json | 6 ------ .../packages.lock.json | 6 ------ .../packages.lock.json | 6 ------ .../packages.lock.json | 6 ------ .../packages.lock.json | 6 ------ 16 files changed, 42 insertions(+), 59 deletions(-) create mode 100644 GitVersion.yml diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index a2717841..a92d6ed8 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -7,6 +7,12 @@ "commands": [ "dotnet-csharpier" ] + }, + "gitversion.tool": { + "version": "5.12.0", + "commands": [ + "dotnet-gitversion" + ] } } } \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09fe7320..6e772bd1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,9 @@ jobs: with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} + + - name: ⚒️ Run GitVersion + run: ./build.ps1 build-server-version - name: 🔫 Build All run: ./build.sh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0bd2754b..cab845f0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,8 +23,9 @@ jobs: with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} - restore-keys: | - ${{ runner.os }}-nuget- + + - name: ⚒️ Run GitVersion + run: ./build.ps1 build-server-version - name: 🔫 Build and Pack run: ./build.sh pack diff --git a/Directory.Build.props b/Directory.Build.props index 52c38830..30ea1ac1 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -39,7 +39,6 @@ README.md Apache-2.0 - dev diff --git a/Directory.Packages.props b/Directory.Packages.props index 5a2cafec..9c80907f 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -29,7 +29,6 @@ - \ No newline at end of file diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 00000000..8c39817c --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,11 @@ +next-version: 3.0.0 +mode: ContinuousDelivery +assembly-informational-format: "{Major}.{Minor}.{Patch}-{PreReleaseTag}" +branches: + main: + regex: ^main$ + tag: rc + develop: + tag: dev + pull-request: + tag: pr diff --git a/build/Program.cs b/build/Program.cs index 99e908b1..ca0478ea 100644 --- a/build/Program.cs +++ b/build/Program.cs @@ -5,6 +5,8 @@ using static SimpleExec.Command; const string CLEAN = "clean"; const string FORMAT = "format"; const string RESTORE_TOOLS = "restore-tools"; +const string BUILD_SERVER_VERSION = "build-server-version"; + const string RESTORE = "restore"; const string BUILD = "build"; @@ -44,7 +46,14 @@ Target(FORMAT, DependsOn(RESTORE_TOOLS), () => RunAsync("dotnet", "csharpier --c Target(RESTORE, () => RunAsync("dotnet", "restore Speckle.Sdk.sln --locked-mode")); -Target(BUILD, DependsOn(RESTORE), () => RunAsync("dotnet", "build Speckle.Sdk.sln -c Release --no-restore")); +Target(BUILD, DependsOn(RESTORE), async () => +{ + var version = Environment.GetEnvironmentVariable("GitVersion_FullSemVer") ?? "3.0.0-localBuild"; + var fileVersion = Environment.GetEnvironmentVariable("GitVersion_AssemblySemFileVer") ?? "3.0.0.0"; + Console.WriteLine($"Version: {version} & {fileVersion}"); + await RunAsync("dotnet", + $"build Speckle.Sdk.sln -c Release --no-restore -p:Version={version} -p:FileVersion={fileVersion} -v:m"); +}); Target( TEST, @@ -77,6 +86,15 @@ Target( } ); +Target( + BUILD_SERVER_VERSION, + DependsOn(RESTORE_TOOLS), + () => + { + Run("dotnet", "tool run dotnet-gitversion /output json /output buildserver"); + } +); + Target(PACK, DependsOn(TEST), () => RunAsync("dotnet", "pack Speckle.Sdk.sln -c Release -o output --no-build")); Target("default", DependsOn(FORMAT, TEST, INTEGRATION), () => Console.WriteLine("Done!")); diff --git a/build/packages.lock.json b/build/packages.lock.json index 036245c7..6d75f910 100644 --- a/build/packages.lock.json +++ b/build/packages.lock.json @@ -24,12 +24,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "PolySharp": { "type": "Direct", "requested": "[1.14.1, )", diff --git a/src/Speckle.Core/packages.lock.json b/src/Speckle.Core/packages.lock.json index 048391c8..fea63dec 100644 --- a/src/Speckle.Core/packages.lock.json +++ b/src/Speckle.Core/packages.lock.json @@ -39,12 +39,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "NETStandard.Library": { "type": "Direct", "requested": "[2.0.3, )", diff --git a/src/Speckle.Objects/packages.lock.json b/src/Speckle.Objects/packages.lock.json index 77bbee9d..ab96102a 100644 --- a/src/Speckle.Objects/packages.lock.json +++ b/src/Speckle.Objects/packages.lock.json @@ -12,12 +12,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "NETStandard.Library": { "type": "Direct", "requested": "[2.0.3, )", diff --git a/src/Speckle.Transports.Disk/packages.lock.json b/src/Speckle.Transports.Disk/packages.lock.json index 77bbee9d..ab96102a 100644 --- a/src/Speckle.Transports.Disk/packages.lock.json +++ b/src/Speckle.Transports.Disk/packages.lock.json @@ -12,12 +12,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "NETStandard.Library": { "type": "Direct", "requested": "[2.0.3, )", diff --git a/src/Speckle.Transports.MongoDB/packages.lock.json b/src/Speckle.Transports.MongoDB/packages.lock.json index 15820f07..c4c3159e 100644 --- a/src/Speckle.Transports.MongoDB/packages.lock.json +++ b/src/Speckle.Transports.MongoDB/packages.lock.json @@ -12,12 +12,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "MongoDB.Driver": { "type": "Direct", "requested": "[2.19.2, )", diff --git a/tests/Speckle.Core.Serialization.Tests/packages.lock.json b/tests/Speckle.Core.Serialization.Tests/packages.lock.json index cb4fd45f..c110e88a 100644 --- a/tests/Speckle.Core.Serialization.Tests/packages.lock.json +++ b/tests/Speckle.Core.Serialization.Tests/packages.lock.json @@ -37,12 +37,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "NUnit": { "type": "Direct", "requested": "[4.1.0, )", diff --git a/tests/Speckle.Core.Tests.Integration/packages.lock.json b/tests/Speckle.Core.Tests.Integration/packages.lock.json index 270bf26a..55a57492 100644 --- a/tests/Speckle.Core.Tests.Integration/packages.lock.json +++ b/tests/Speckle.Core.Tests.Integration/packages.lock.json @@ -22,12 +22,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "NUnit": { "type": "Direct", "requested": "[4.1.0, )", diff --git a/tests/Speckle.Core.Tests.Unit/packages.lock.json b/tests/Speckle.Core.Tests.Unit/packages.lock.json index 50be2f6e..34162e5c 100644 --- a/tests/Speckle.Core.Tests.Unit/packages.lock.json +++ b/tests/Speckle.Core.Tests.Unit/packages.lock.json @@ -28,12 +28,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "NUnit": { "type": "Direct", "requested": "[4.1.0, )", diff --git a/tests/Speckle.Objects.Tests.Unit/packages.lock.json b/tests/Speckle.Objects.Tests.Unit/packages.lock.json index 57d971d8..ccafae07 100644 --- a/tests/Speckle.Objects.Tests.Unit/packages.lock.json +++ b/tests/Speckle.Objects.Tests.Unit/packages.lock.json @@ -28,12 +28,6 @@ "Microsoft.SourceLink.Common": "8.0.0" } }, - "MinVer": { - "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "ybkgpQMtt0Fo91l5rYtE3TZtD+Nmy5Ko091xvfXXOosQdMi30XO2EZ2+ShZt89gdu7RMmJqZaJ+e1q6d+6+KNw==" - }, "NUnit": { "type": "Direct", "requested": "[4.1.0, )",