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, )",