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)
{