From 1953ed45cb83409e15af2a56727812dc25f8f5b9 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 12 Oct 2020 20:19:51 -0400 Subject: [PATCH] Incremental control panel building --- build/ControlPanelVersion.props | 6 ++++++ build/Version.props | 6 +++--- .../Tgstation.Server.Host.csproj | 20 +++++++++++++------ tests/Tgstation.Server.Tests/VersionsTest.cs | 10 +++++++--- tgstation-server.sln | 1 + tools/ReleaseNotes/Program.cs | 15 +++++++++++--- 6 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 build/ControlPanelVersion.props diff --git a/build/ControlPanelVersion.props b/build/ControlPanelVersion.props new file mode 100644 index 0000000000..b37f46f016 --- /dev/null +++ b/build/ControlPanelVersion.props @@ -0,0 +1,6 @@ + + + + 1.0.1 + + diff --git a/build/Version.props b/build/Version.props index af9216cd7e..839609eafe 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,13 +1,13 @@ + + + - - 4.5.4 2.1.0 7.3.2 8.3.2 5.2.6 - 0.4.0 1.1.0 diff --git a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj index 89e0133ed9..586ef980f6 100644 --- a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj +++ b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj @@ -1,4 +1,4 @@ - + @@ -17,15 +17,23 @@ true - + ClientApp/node_modules + ClientApp/.install-stamp ClientApp/node_modules/.install-stamp Linux ..\.. - - + + + + + + + + + @@ -35,7 +43,7 @@ - + @@ -109,7 +117,7 @@ - + PreserveNewest diff --git a/tests/Tgstation.Server.Tests/VersionsTest.cs b/tests/Tgstation.Server.Tests/VersionsTest.cs index e3523c3d0d..3216f5375d 100644 --- a/tests/Tgstation.Server.Tests/VersionsTest.cs +++ b/tests/Tgstation.Server.Tests/VersionsTest.cs @@ -1,4 +1,4 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json.Linq; using System; using System.IO; @@ -103,7 +103,11 @@ namespace Tgstation.Server.Tests [TestMethod] public void TestControlPanelVersion() { - var versionString = versionsPropertyGroup.Element(xmlNamespace + "TgsControlPanelVersion").Value; + var doc = XDocument.Load("../../../../../build/ControlPanelVersion.props"); + var project = doc.Root; + var controlPanelXmlNamespace = project.GetDefaultNamespace(); + var controlPanelVersionsPropertyGroup = project.Elements().First(); + var versionString = controlPanelVersionsPropertyGroup.Element(xmlNamespace + "TgsControlPanelVersion").Value; Assert.IsNotNull(versionString); Assert.IsTrue(Version.TryParse(versionString, out var expected)); @@ -111,7 +115,7 @@ namespace Tgstation.Server.Tests dynamic json = JObject.Parse(jsonText); - string cpVersionString = json.dependencies["tgstation-server-control-panel"]; + string cpVersionString = json.version; Assert.IsTrue(Version.TryParse(cpVersionString, out var actual)); Assert.AreEqual(expected, actual); diff --git a/tgstation-server.sln b/tgstation-server.sln index a42b049c29..a5009739d6 100644 --- a/tgstation-server.sln +++ b/tgstation-server.sln @@ -26,6 +26,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{6FF654E6 ProjectSection(SolutionItems) = preProject build\analyzers.ruleset = build\analyzers.ruleset build\BuildDox.ps1 = build\BuildDox.ps1 + build\ControlPanelVersion.props = build\ControlPanelVersion.props build\Dockerfile = build\Dockerfile build\GenerateMigrations.sh = build\GenerateMigrations.sh build\OpenApiValidationSettings.json = build\OpenApiValidationSettings.json diff --git a/tools/ReleaseNotes/Program.cs b/tools/ReleaseNotes/Program.cs index a068afd658..c997c7cee8 100644 --- a/tools/ReleaseNotes/Program.cs +++ b/tools/ReleaseNotes/Program.cs @@ -34,10 +34,14 @@ namespace ReleaseNotes var doNotCloseMilestone = args.Length > 1 && args[1].ToUpperInvariant() == "--NO-CLOSE"; - string propsPath = "../../../../../build/Version.props"; + var propsPath = "../../../../../build/Version.props"; if (args.Length > 1 && !doNotCloseMilestone) propsPath = args[1]; + var controlPanelPropsPath = "../../../../../build/Version.props"; + if (args.Length > 2 && !doNotCloseMilestone) + propsPath = args[2]; + const string ReleaseNotesEnvVar = "TGS4_RELEASE_NOTES_TOKEN"; var githubToken = Environment.GetEnvironmentVariable(ReleaseNotesEnvVar); if (String.IsNullOrWhiteSpace(githubToken) && !doNotCloseMilestone) @@ -49,7 +53,7 @@ namespace ReleaseNotes try { var client = new GitHubClient(new ProductHeaderValue("tgs_release_notes")); - if (!String.IsNullOrWhiteSpace(githubToken)) + if (!String.IsNullOrWhiteSpace(githubToken)) { client.Credentials = new Credentials(githubToken); } @@ -242,6 +246,11 @@ namespace ReleaseNotes var xmlNamespace = project.GetDefaultNamespace(); var versionsPropertyGroup = project.Elements().First(); + var doc2 = XDocument.Load(controlPanelPropsPath); + var project2 = doc.Root; + var controlPanelXmlNamespace = project.GetDefaultNamespace(); + var controlPanelVersionsPropertyGroup = project.Elements().First(); + var coreVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsCoreVersion").Value); if(coreVersion != version) { @@ -252,7 +261,7 @@ namespace ReleaseNotes var apiVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsApiVersion").Value); var configVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsConfigVersion").Value); var dmApiVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsDmapiVersion").Value); - var webControlVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsControlPanelVersion").Value); + var webControlVersion = Version.Parse(controlPanelVersionsPropertyGroup.Element(controlPanelXmlNamespace + "TgsControlPanelVersion").Value); var hostWatchdogVersion = Version.Parse(versionsPropertyGroup.Element(xmlNamespace + "TgsHostWatchdogVersion").Value); if (webControlVersion.Major == 0)