Try running on the HEAD SHA instead of the merge in hopes of simplicity

This commit is contained in:
Jordan Dominion
2024-08-16 22:14:27 -04:00
parent b497b047b0
commit 70b407174b
3 changed files with 42 additions and 150 deletions
@@ -59,7 +59,6 @@ namespace Tgstation.Server.ReleaseNotes
var shaCheck = versionString.Equals("--winget-template-check", StringComparison.OrdinalIgnoreCase);
var fullNotes = versionString.Equals("--generate-full-notes", StringComparison.OrdinalIgnoreCase);
var nuget = versionString.Equals("--nuget", StringComparison.OrdinalIgnoreCase);
var ciCheck = versionString.Equals("--ci-check", StringComparison.OrdinalIgnoreCase);
var genToken = versionString.Equals("--token-output-file", StringComparison.OrdinalIgnoreCase);
if ((!Version.TryParse(versionString, out var version) || version.Revision != -1)
@@ -68,7 +67,6 @@ namespace Tgstation.Server.ReleaseNotes
&& !shaCheck
&& !fullNotes
&& !nuget
&& !ciCheck
&& !genToken)
{
Console.WriteLine("Invalid version: " + versionString);
@@ -126,17 +124,6 @@ namespace Tgstation.Server.ReleaseNotes
return await EnsureRelease(client);
}
if (ciCheck)
{
if (args.Length < 5)
{
Console.WriteLine("Missing check parameters!");
return 4543;
}
return await CICheck(client, args[1], args[2], Enum.Parse<CheckMode>(args[3]), Int64.Parse(args[4]));
}
if (genToken)
{
if (args.Length < 3)
@@ -1675,72 +1662,6 @@ package (version) distribution(s); urgency=urgency
gitHubClient.Credentials = new Credentials(installToken.Token);
}
enum CheckMode
{
Pending,
Started,
Cancelled,
Success,
Failure,
}
static async ValueTask<int> CICheck(GitHubClient gitHubClient, string ciTargetSha, string pemBase64, CheckMode mode, long runID)
{
await GenerateAppCredentials(gitHubClient, pemBase64, false);
switch (mode)
{
case CheckMode.Pending:
await gitHubClient.Check.Run.Create(RepoOwner, RepoName, new NewCheckRun("CI Pipeline", ciTargetSha)
{
DetailsUrl = $"https://github.com/{RepoOwner}/{RepoName}/actions/runs/{runID}",
});
break;
case CheckMode.Started:
var prChecks = await gitHubClient.Check.Run.GetAllForReference(RepoOwner, RepoName, ciTargetSha);
var theCheckWeWant = prChecks.CheckRuns.FirstOrDefault(x => x.App.Id == AppId);
if (theCheckWeWant != null)
{
await gitHubClient.Check.Run.Update(RepoOwner, RepoName, theCheckWeWant.Id, new CheckRunUpdate
{
Status = CheckStatus.InProgress,
StartedAt = DateTimeOffset.UtcNow,
});
}
else
await gitHubClient.Check.Run.Create(RepoOwner, RepoName, new NewCheckRun("CI Pipeline", ciTargetSha)
{
DetailsUrl = $"https://github.com/{RepoOwner}/{RepoName}/actions/runs/{runID}",
Status = CheckStatus.InProgress,
StartedAt = DateTimeOffset.UtcNow,
});
break;
case CheckMode.Cancelled:
case CheckMode.Failure:
case CheckMode.Success:
var conclusion = mode switch
{
CheckMode.Cancelled => CheckConclusion.Cancelled,
CheckMode.Failure => CheckConclusion.Failure,
CheckMode.Success => CheckConclusion.Success,
_ => throw new InvalidOperationException("Impossible"),
};
var prChecks2 = await gitHubClient.Check.Run.GetAllForReference(RepoOwner, RepoName, ciTargetSha);
var theCheckWeWant2 = prChecks2.CheckRuns.First(x => x.App.Id == AppId);
await gitHubClient.Check.Run.Update(RepoOwner, RepoName, theCheckWeWant2.Id, new CheckRunUpdate
{
Status = CheckStatus.Completed,
CompletedAt = DateTimeOffset.UtcNow,
Conclusion = conclusion,
});
break;
}
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