diff --git a/DeepLearningProtocol/Workflow.cs b/DeepLearningProtocol/Workflow.cs
index 5ac05f5..c3f41ef 100644
--- a/DeepLearningProtocol/Workflow.cs
+++ b/DeepLearningProtocol/Workflow.cs
@@ -119,6 +119,30 @@ public void StartStage(int stageNumber, string name, string description)
LogStageEvent(stage, $"Stage {stageNumber}: {name} started");
}
+ ///
+ /// Start a new workflow stage (async version)
+ ///
+ public async Task StartStageAsync(int stageNumber, string name, string description)
+ {
+ await Task.Run(() => StartStage(stageNumber, name, description));
+ }
+
+ ///
+ /// Complete current workflow stage (async version)
+ ///
+ public async Task CompleteStageAsync(string stageName, bool success, string summary = "")
+ {
+ await Task.Run(() => CompleteStage(stageName, success, summary));
+ }
+
+ ///
+ /// Add log entry to current stage (async version)
+ ///
+ public async Task AddLogAsync(string stageName, string message)
+ {
+ await Task.Run(() => AddLog(stageName, message));
+ }
+
///
/// Complete current workflow stage
///
@@ -288,6 +312,14 @@ public void SaveWorkflowToFile(string workflowName)
}
}
+ ///
+ /// Save workflow to JSON file with error handling (async version)
+ ///
+ public async Task SaveWorkflowToFileAsync(string workflowName)
+ {
+ await Task.Run(() => SaveWorkflowToFile(workflowName));
+ }
+
///
/// Get pipeline configuration for CI/CD
///
@@ -447,6 +479,30 @@ public void ExecuteDevelopmentWorkflow()
_logger(_workflowManager.GetWorkflowSummary());
}
+ ///
+ /// Execute development workflow (async version)
+ ///
+ public async Task ExecuteDevelopmentWorkflowAsync()
+ {
+ _logger("Starting Development Workflow (Async)...");
+ _workflowManager.SetState(WorkflowManager.WorkflowState.InProgress);
+
+ await _workflowManager.StartStageAsync(1, "Feature Development", "Code implementation and feature development");
+ await Task.Delay(1000);
+ await _workflowManager.CompleteStageAsync("Feature Development", true, "Feature implemented successfully");
+
+ await _workflowManager.StartStageAsync(2, "Unit Testing", "Local unit test execution");
+ await Task.Delay(1000);
+ await _workflowManager.CompleteStageAsync("Unit Testing", true, "All tests passed (8/8)");
+
+ await _workflowManager.StartStageAsync(3, "Code Review", "Peer code review");
+ await Task.Delay(1000);
+ await _workflowManager.CompleteStageAsync("Code Review", true, "Approved for merge");
+
+ _workflowManager.SetState(WorkflowManager.WorkflowState.Completed);
+ _logger(_workflowManager.GetWorkflowSummary());
+ }
+
///
/// Execute CI/CD pipeline workflow
///
@@ -474,5 +530,33 @@ public void ExecuteCIPipelineWorkflow()
_workflowManager.SetState(WorkflowManager.WorkflowState.Completed);
_logger(_workflowManager.GetWorkflowSummary());
}
+
+ ///
+ /// Execute CI/CD pipeline workflow (async version)
+ ///
+ public async Task ExecuteCIPipelineWorkflowAsync()
+ {
+ _logger("Starting CI/CD Pipeline Workflow (Async)...");
+ _workflowManager.SetState(WorkflowManager.WorkflowState.InProgress);
+
+ await _workflowManager.StartStageAsync(1, "Build Stage", "Debug/Release build compilation");
+ await Task.Delay(1500);
+ await _workflowManager.CompleteStageAsync("Build Stage", true, "Build successful - 0 errors");
+
+ await _workflowManager.StartStageAsync(2, "Testing Stage", "Unit test execution with coverage");
+ await Task.Delay(2000);
+ await _workflowManager.CompleteStageAsync("Testing Stage", true, "8/8 tests passed");
+
+ await _workflowManager.StartStageAsync(3, "Code Quality Stage", "Code style and quality checks");
+ await Task.Delay(1000);
+ await _workflowManager.CompleteStageAsync("Code Quality Stage", true, "Quality standards met");
+
+ await _workflowManager.StartStageAsync(4, "Artifact Publishing", "Build artifact storage");
+ await Task.Delay(500);
+ await _workflowManager.CompleteStageAsync("Artifact Publishing", true, "Artifacts published (30d retention)");
+
+ _workflowManager.SetState(WorkflowManager.WorkflowState.Completed);
+ _logger(_workflowManager.GetWorkflowSummary());
+ }
}
}