Skip to content

Commit

Permalink
Merge pull request #1636 from tgstation/ReleaseFixes [NugetDeploy][TG…
Browse files Browse the repository at this point in the history
…SDeploy]

v5.14.0 plus CI fixes
  • Loading branch information
Cyberboss committed Aug 23, 2023
2 parents d85987d + ccc7c8c commit 0425007
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 23 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,10 @@ jobs:
- name: gh-pages Push
if: github.event_name == 'push' && github.event.ref == 'refs/heads/dev' && env.TGS_RELEASE_NOTES_TOKEN != ''
run: |
sudo mv changelog.yml $HOME/tgsdox/
pushd $HOME/tgsdox
rm -r *
popd
sudo mv changelog.yml $HOME/tgsdox/
echo ./doxout/* | xargs -n 10 sudo mv -t $HOME/tgsdox
cd $HOME/tgsdox
git config --global push.default simple
Expand Down Expand Up @@ -1408,7 +1408,7 @@ jobs:
run: curl -L https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml -o changelog.yml

- name: Generate Release Notes
run: dotnet run -c Release --no-build --project tools/Tgstation.Server.ReleaseNotes ${{ env.TGS_DM_VERSION }} --nuget
run: dotnet run -c Release --no-build --project tools/Tgstation.Server.ReleaseNotes --nuget

- name: Publish Tgstation.Server.Common to NuGet
uses: alirezanet/publish-nuget@e276c40afeb2a154046f0997820f2a9ea74832d9 # v3.1.0
Expand Down
3 changes: 2 additions & 1 deletion build/Common.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<PropertyGroup>
<TgsFrameworkVersion>net$(TgsNetMajorVersion).0</TgsFrameworkVersion>
<LangVersion>latest</LangVersion>
<DebugType>Full</DebugType>
<!-- This is the default but Wix hates it -->
<!--<DebugType>Portable</DebugType> -->
</PropertyGroup>
</Project>
13 changes: 12 additions & 1 deletion build/NugetCommon.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,29 @@
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Jordan Dominion</Authors>
<Company>/tg/station 13</Company>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<PackageProjectUrl>https://tgstation.github.io/tgstation-server</PackageProjectUrl>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>tgs.png</PackageIcon>
<RepositoryType>Git</RepositoryType>
<RepositoryUrl>https://github.com/tgstation/tgstation-server</RepositoryUrl>
<Copyright>2018-2023</Copyright>
<Copyright>Copyright (c) Jordan Brown 2018</Copyright>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<Nullable>enable</Nullable>
</PropertyGroup>

<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>

<ItemGroup>
<!-- Usage: Sourcelink -->
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
</ItemGroup>

<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="" />
<None Include="../../LICENSE" Pack="true" PackagePath="" />
Expand Down
6 changes: 3 additions & 3 deletions build/Version.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<TgsCoreVersion>5.14.0</TgsCoreVersion>
<TgsConfigVersion>4.7.1</TgsConfigVersion>
<TgsApiVersion>9.12.0</TgsApiVersion>
<TgsCommonLibraryVersion>6.0.0</TgsCommonLibraryVersion>
<TgsApiLibraryVersion>11.1.0</TgsApiLibraryVersion>
<TgsClientVersion>12.1.0</TgsClientVersion>
<TgsCommonLibraryVersion>6.0.1</TgsCommonLibraryVersion>
<TgsApiLibraryVersion>11.1.1</TgsApiLibraryVersion>
<TgsClientVersion>12.1.1</TgsClientVersion>
<TgsDmapiVersion>6.5.2</TgsDmapiVersion>
<TgsInteropVersion>5.6.1</TgsInteropVersion>
<TgsHostWatchdogVersion>1.4.0</TgsHostWatchdogVersion>
Expand Down
4 changes: 2 additions & 2 deletions src/Tgstation.Server.Host/Tgstation.Server.Host.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
<!-- Usage: Concise throw statements for native Win32 errors -->
<PackageReference Include="BetterWin32Errors" Version="0.2.0" />
<!-- Usage: Interop with BYOND's /world/Topic -->
<PackageReference Include="Byond.TopicSender" Version="7.0.1" />
<PackageReference Include="Byond.TopicSender" Version="7.0.8" />
<!-- Usage: 503'ing request pipeline until server is finished initializing -->
<PackageReference Include="Cyberboss.AspNetCore.AsyncInitializer" Version="1.2.0" />
<!-- Usage: IRC interop -->
Expand Down Expand Up @@ -121,7 +121,7 @@
<!-- Usage: Identifying owning user of Windows Process objects -->
<PackageReference Include="System.Management" Version="7.0.2" />
<!-- Usage: .DeleteAsync() support for IQueryable<T>s -->
<PackageReference Include="Z.EntityFramework.Plus.EFCore" Version="7.22.4" />
<PackageReference Include="Z.EntityFramework.Plus.EFCore" Version="7.22.6" />
</ItemGroup>

<ItemGroup>
Expand Down
41 changes: 27 additions & 14 deletions tools/Tgstation.Server.ReleaseNotes/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -661,7 +661,7 @@ async Task CommitNotes(Component component, List<string> notes)
if (changelists.TryGetValue(component, out var currentChangelist))
currentChangelist.Changes.AddRange(tupleSelector);
else
Debug.Assert(changelists.TryAdd(component, new Changelist
DebugAssert(changelists.TryAdd(component, new Changelist
{
Changes = tupleSelector.ToList(),
Unreleased = false,
Expand Down Expand Up @@ -725,7 +725,7 @@ async Task CommitNotes(Component component, List<string> notes)

await previousTask;

Debug.Assert(!(await needExtendedComponentVersions) || changelists.Where(x => x.Key == Component.Core).All(x => x.Value.ComponentVersions != null && x.Value.ComponentVersions.Count > 3));
DebugAssert(!(await needExtendedComponentVersions) || changelists.Where(x => x.Key == Component.Core).All(x => x.Value.ComponentVersions != null && x.Value.ComponentVersions.Count > 3));

return Tuple.Create(changelists.ToDictionary(kvp => kvp.Key, kvp => kvp.Value), await componentVersions, isReleasePR);
}
Expand Down Expand Up @@ -987,7 +987,7 @@ async Task<ReleaseNotes> RunPRs()
newList = newList.OrderBy(x => x).ToList();

var index = newList.IndexOf(componentVersion);
Debug.Assert(index != -1);
DebugAssert(index != -1);
if (index != (newList.Count - 1))
{
componentVersion = newList[index + 1];
Expand All @@ -1013,10 +1013,10 @@ async Task<ReleaseNotes> RunPRs()
entry.Changes.AddRange(changelist.Changes);
}

Debug.Assert(list.Select(x => x.Version.ToString()).Distinct().Count() == list.Count);
DebugAssert(list.Select(x => x.Version.ToString()).Distinct().Count() == list.Count);
if (component == Component.Core)
{
Debug.Assert(list.All(x => x.Version == milestoneVersion));
DebugAssert(list.All(x => x.Version == milestoneVersion));
}

list = list.OrderByDescending(x => x.Version).ToList();
Expand All @@ -1038,7 +1038,7 @@ async Task<ReleaseNotes> RunPRs()
});
}
else
Debug.Assert(finalResults[Component.Core].All(x => x.Version == milestoneVersion && x.ComponentVersions != null && x.ComponentVersions.Count > 3));
DebugAssert(finalResults[Component.Core].All(x => x.Version == milestoneVersion && x.ComponentVersions != null && x.ComponentVersions.Count > 3));

var notes = new ReleaseNotes
{
Expand Down Expand Up @@ -1189,7 +1189,7 @@ static async Task<ReleaseNotes> GenerateNotes(IGitHubClient client, Dictionary<C
.Where(x => x.Key == Component.Core)
.ToList();

Debug.Assert(
DebugAssert(
coreCls.Count == milestonesToProcess.Count);

var distinctCoreVersions = coreCls
Expand All @@ -1204,7 +1204,7 @@ static async Task<ReleaseNotes> GenerateNotes(IGitHubClient client, Dictionary<C
.Where(x => !distinctCoreVersions.Any(y => Version.Parse(x.Title.AsSpan(1)) == y))
.ToList();

Debug.Assert(missingCoreVersions.Count == 0);
DebugAssert(missingCoreVersions.Count == 0);

var changelistsGroupedByComponent =
milestonePRTasks
Expand Down Expand Up @@ -1236,7 +1236,7 @@ static async Task<ReleaseNotes> GenerateNotes(IGitHubClient client, Dictionary<C
.ToList()))
};

Debug.Assert(releaseNotes.Components.ContainsKey(Component.Core) && releaseNotes.Components[Component.Core].Count == milestonesToProcess.Count);
DebugAssert(releaseNotes.Components.ContainsKey(Component.Core) && releaseNotes.Components[Component.Core].Count == milestonesToProcess.Count);

if (previousNotes != null)
{
Expand Down Expand Up @@ -1274,7 +1274,7 @@ static async Task<ReleaseNotes> GenerateNotes(IGitHubClient client, Dictionary<C
foreach (var kvp in releaseNotes.Components)
{
var distinctCount = kvp.Value.Select(changelist => changelist.Version.ToString()).Distinct().Count();
Debug.Assert(distinctCount == kvp.Value.Count);
DebugAssert(distinctCount == kvp.Value.Count);

foreach (var cl in kvp.Value)
{
Expand Down Expand Up @@ -1313,11 +1313,14 @@ static void PrintChanges(StringBuilder newNotes, Changelist changelist, bool deb
throw new Exception($"Changlist {changelist.Version} has no changes!");
}

static string GenerateComponentNotes(ReleaseNotes releaseNotes, Component component, Version version)
static string GenerateComponentNotes(ReleaseNotes releaseNotes, Component component, Version version, bool useMarkdown)
{
var relevantChangelog = releaseNotes.Components[component].FirstOrDefault(x => x.Version == version);

var newNotes = new StringBuilder("Full changelog can be found [here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).");
var newNotes = new StringBuilder(
useMarkdown
? "Full changelog can be found [here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml)."
: "Full changelog can be found here: https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml.");
if (relevantChangelog != null)
{
newNotes.AppendLine();
Expand All @@ -1331,7 +1334,7 @@ static string GenerateComponentNotes(ReleaseNotes releaseNotes, Component compon
static async Task<int> ReleaseComponent(IGitHubClient client, Version version, Component component)
{
var releaseNotes = await GenerateNotes(client, new Dictionary<Component, Version> { { component, version } });
await File.WriteAllTextAsync(OutputPath, GenerateComponentNotes(releaseNotes, component, version));
await File.WriteAllTextAsync(OutputPath, GenerateComponentNotes(releaseNotes, component, version, true));
return 0;
}

Expand Down Expand Up @@ -1373,7 +1376,7 @@ static async Task<int> ReleaseNuget(IGitHubClient client)
var component = kvp.Key;
var csprojPath = CsprojSubstitution.Replace("$PROJECT$", kvp.Value);

var markdown = GenerateComponentNotes(releaseNotes, component, componentVersions[component]);
var markdown = GenerateComponentNotes(releaseNotes, component, componentVersions[component], false);

var escapedMarkdown = SecurityElement.Escape(markdown);

Expand Down Expand Up @@ -1557,5 +1560,15 @@ static async Task<int> GenDebianChangelog(IGitHubClient client, Version version,
await File.WriteAllTextAsync(outputPath, changelog);
return 0;
}

static void DebugAssert(bool condition, string message = null)
{
// This exists because one of the fucking asserts evaluates an enumerable or something and it was getting optimized out in release
// I CBA to track this down.
if (message != null)
Debug.Assert(condition, message);
else
Debug.Assert(condition);
}
}
}

0 comments on commit 0425007

Please sign in to comment.