diff --git a/src/DMAPI/tgs.dm b/src/DMAPI/tgs.dm index ce5ce4885a..5dfb6230ee 100644 --- a/src/DMAPI/tgs.dm +++ b/src/DMAPI/tgs.dm @@ -68,9 +68,9 @@ #define TGS_EVENT_COMPILE_START 8 #define TGS_EVENT_COMPILE_CANCELLED 9 #define TGS_EVENT_COMPILE_FAILURE 10 -#define TGS_EVENT_COMPILE_COMPLETE 11 +#define TGS_EVENT_COMPILE_COMPLETE 11 // Note, this event fires before the new .dmb is loaded into the watchdog. Consider using the TGS_EVENT_DEPLOYMENT_COMPLETE instead #define TGS_EVENT_INSTANCE_AUTO_UPDATE_START 12 -#define TGS_EVENT_REPO_MERGE_CONFLICT 13 +#define TGS_EVENT_DEPLOYMENT_COMPLETE 13 //OTHER ENUMS diff --git a/src/Tgstation.Server.Host/Components/EventType.cs b/src/Tgstation.Server.Host/Components/EventType.cs index f711742dbe..e501403ebf 100644 --- a/src/Tgstation.Server.Host/Components/EventType.cs +++ b/src/Tgstation.Server.Host/Components/EventType.cs @@ -8,71 +8,76 @@ /// /// Parameters: Reference name, commit sha /// - RepoResetOrigin = 0, + RepoResetOrigin, /// /// Parameters: Checkout target /// - RepoCheckout = 1, + RepoCheckout, /// /// No parameters /// - RepoFetch = 2, + RepoFetch, /// /// Parameters: Pull request number, pull request sha, merger message /// - RepoMergePullRequest = 3, + RepoMergePullRequest, /// /// Parameters: Absolute path to repository root /// - RepoPreSynchronize = 4, + RepoPreSynchronize, /// /// Parameters: Version being installed /// - ByondInstallStart = 5, + ByondInstallStart, /// /// Parameters: Error string /// - ByondInstallFail = 6, + ByondInstallFail, /// /// Parameters: Old active version, new active version /// - ByondActiveVersionChange = 7, + ByondActiveVersionChange, /// /// Parameters: Game directory path, origin commit sha /// - CompileStart = 8, + CompileStart, /// /// No parameters /// - CompileCancelled = 9, + CompileCancelled, /// /// Parameters: Game directory path, "1" if compile succeeded and api validation failed, "0" otherwise /// - CompileFailure = 10, + CompileFailure, /// /// Parameters: Game directory path /// - CompileComplete = 11, + CompileComplete, /// /// No parameters /// - InstanceAutoUpdateStart = 12, + InstanceAutoUpdateStart, /// /// Parameters: Base sha, target sha, base reference, target reference /// - RepoMergeConflict = 13, + RepoMergeConflict, + + /// + /// No parameters + /// + DeploymentComplete } } diff --git a/src/Tgstation.Server.Host/Components/Instance.cs b/src/Tgstation.Server.Host/Components/Instance.cs index 34d582a381..687eb2c246 100644 --- a/src/Tgstation.Server.Host/Components/Instance.cs +++ b/src/Tgstation.Server.Host/Components/Instance.cs @@ -256,7 +256,11 @@ namespace Tgstation.Server.Host.Components databaseContext.CompileJobs.Add(compileJob); // will be saved by job context - job.PostComplete = ct => compileJobConsumer.LoadCompileJob(compileJob, ct); + job.PostComplete = async postCompleteCancellationToken => + { + await compileJobConsumer.LoadCompileJob(compileJob, postCompleteCancellationToken).ConfigureAwait(false); + await eventConsumer.HandleEvent(EventType.DeploymentComplete, null, postCompleteCancellationToken).ConfigureAwait(false); + }; if (repositorySettings?.AccessToken != null) {