suspend fun handleBuildEvent()

in server/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/server/build/state/DistributedBuildStateTracker.kt [68:82]


    suspend fun handleBuildEvent(event: DistributedBuildEvent) {
        val parentBuild = promotionManager.findParentBuild(event.build) ?: return

        val updatedState =
            when (event) {
                is BuildStepStarted -> buildStepStarted(parentBuild, event)
                is BuildStepCompleted -> buildStepFinished(parentBuild, event)
                is BuildStepInterrupted -> buildStepInterrupted(parentBuild, event)
                is BuildSkipped -> buildSkipped(parentBuild, event.build)
            }

        if (buildCompleted(updatedState)) {
            stateStorage.dispose(parentBuild)
        }
    }