mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-29 08:00:19 +01:00
Adds a bit of auto update logging and exception cases
This commit is contained in:
@@ -185,7 +185,7 @@ namespace Tgstation.Server.Host.Components
|
||||
try
|
||||
{
|
||||
await Task.Delay(TimeSpan.FromMinutes(minutes > Int32.MaxValue ? Int32.MaxValue : (int)minutes), cancellationToken).ConfigureAwait(false);
|
||||
|
||||
logger.LogDebug("Beginning auto update...");
|
||||
try
|
||||
{
|
||||
Models.User user = null;
|
||||
@@ -202,7 +202,7 @@ namespace Tgstation.Server.Host.Components
|
||||
StartedBy = user
|
||||
};
|
||||
|
||||
var noRepo = false;
|
||||
var repositoryUpdateSuccess = false;
|
||||
await jobManager.RegisterOperation(repositoryUpdateJob, async (paramJob, databaseContext, progressReporter, jobCancellationToken) =>
|
||||
{
|
||||
var repositorySettingsTask = databaseContext.RepositorySettings.Where(x => x.InstanceId == metadata.Id).FirstAsync(jobCancellationToken);
|
||||
@@ -226,8 +226,7 @@ namespace Tgstation.Server.Host.Components
|
||||
{
|
||||
if (repo == null)
|
||||
{
|
||||
//no repo, no auto updates
|
||||
noRepo = true;
|
||||
logger.LogTrace("Aborting repo update, no repository!");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -242,13 +241,15 @@ namespace Tgstation.Server.Host.Components
|
||||
bool shouldSyncTracked;
|
||||
if (repositorySettings.AutoUpdatesKeepTestMerges.Value)
|
||||
{
|
||||
logger.LogTrace("Preserving test merges...");
|
||||
var result = await repo.MergeOrigin(repositorySettings.CommitterName, repositorySettings.CommitterEmail, NextProgressReporter(), jobCancellationToken).ConfigureAwait(false);
|
||||
if (!result.HasValue)
|
||||
return;
|
||||
throw new JobException("Merge conflict while preserving test merges!");
|
||||
shouldSyncTracked = result.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.LogTrace("Not preserving test merges...");
|
||||
await repo.ResetToOrigin(NextProgressReporter(), jobCancellationToken).ConfigureAwait(false);
|
||||
shouldSyncTracked = true;
|
||||
}
|
||||
@@ -259,12 +260,16 @@ namespace Tgstation.Server.Host.Components
|
||||
|
||||
progressReporter(5 * ProgressStep);
|
||||
}
|
||||
repositoryUpdateSuccess = true;
|
||||
}, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
await jobManager.WaitForJobCompletion(repositoryUpdateJob, user, cancellationToken, default).ConfigureAwait(false);
|
||||
|
||||
if (noRepo)
|
||||
if (!repositoryUpdateSuccess)
|
||||
{
|
||||
logger.LogTrace("Aborting auto update, repository error!");
|
||||
continue;
|
||||
}
|
||||
|
||||
//finally set up the job
|
||||
var compileProcessJob = new Job
|
||||
|
||||
Reference in New Issue
Block a user