MCPcopy Create free account
hub / github.com/github/gh-aw / validateWorkflowConcurrency

Function validateWorkflowConcurrency

pkg/workflow/compiler_validators.go:232–253  ·  view source on GitHub ↗
(workflowData *WorkflowData, markdownPath string)

Source from the content-addressed store, hash-verified

230}
231
232func validateWorkflowConcurrency(workflowData *WorkflowData, markdownPath string) error {
233 if workflowData.Concurrency == "" {
234 return nil
235 }
236 if err := validateConcurrencyQueueConfiguration(workflowData.Concurrency); err != nil {
237 return formatCompilerError(markdownPath, "error", "workflow-level concurrency validation failed: "+err.Error(), err)
238 }
239 if workflowData.CachedConcurrencyGroupExprSet {
240 if workflowData.CachedConcurrencyGroupExprErr != nil {
241 return formatCompilerError(markdownPath, "error", "workflow-level concurrency validation failed: "+workflowData.CachedConcurrencyGroupExprErr.Error(), workflowData.CachedConcurrencyGroupExprErr)
242 }
243 return nil
244 }
245 groupExpr := extractConcurrencyGroupFromYAML(workflowData.Concurrency)
246 if groupExpr == "" {
247 return nil
248 }
249 if err := validateConcurrencyGroupExpression(groupExpr); err != nil {
250 return formatCompilerError(markdownPath, "error", "workflow-level concurrency validation failed: "+err.Error(), err)
251 }
252 return nil
253}
254
255func (c *Compiler) emitGeneralToolWarnings(workflowData *WorkflowData, markdownPath string) {
256 if workflowData.Concurrency != "" && strings.Contains(workflowData.Concurrency, "cancel-in-progress: true") && hasBotSelfCancelRisk(workflowData) {

Callers 1

Calls 5

formatCompilerErrorFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected