Import concurrency job discriminator from shared workflows - #57978
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot allow the entire group field to be merged from shared agentic workflows as a whole |
There was a problem hiding this comment.
🟡 Changes recommended
Unsupported concurrency fields are not rejected through common shared-subdirectory import paths.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Imports shared concurrency.job-discriminator values while preserving main-workflow precedence.
Changes:
- Adds first-import-wins extraction and merge behavior.
- Adds shared-workflow validation and tests.
- Documents import precedence.
File summaries
| File | Description |
|---|---|
pkg/workflow/concurrency_import_test.go |
Tests import and override behavior. |
pkg/workflow/compiler_orchestrator_workflow.go |
Applies the imported discriminator. |
pkg/parser/schema_validation.go |
Allows only the import-safe concurrency field. |
pkg/parser/schema_location_test.go |
Tests shared-workflow validation. |
pkg/parser/import_processor.go |
Exposes the merged discriminator. |
pkg/parser/import_field_extractor.go |
Extracts the first imported value. |
pkg/parser/import_field_extractor_test.go |
Tests first-wins extraction. |
pkg/constants/constants.go |
Removes concurrency from the blanket forbidden list. |
docs/src/content/docs/reference/concurrency.md |
Documents shared-workflow precedence. |
Review details
- Files reviewed: 9/9 changed files
- Comments generated: 2
- Review effort level: Balanced
| if key == "concurrency" { | ||
| if err := validateSharedWorkflowConcurrencyField(frontmatter["concurrency"]); err != nil { | ||
| return err | ||
| } | ||
| continue |
| @@ -487,7 +487,6 @@ var IgnoredFrontmatterFields = []string{} | |||
| // and will be properly imported and merged when the shared workflow is imported. | |||
| var SharedWorkflowForbiddenFields = []string{ | |||
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Updated: shared workflow |
Fixed at 811a3d4: the shared-workflow concurrency import fix is in place, the Go formatting issue was corrected, and the focused parser/workflow concurrency regression checks pass. |
|
@copilot Please inspect the current failed checks on this PR, address any remaining issues, refresh the branch if needed, and run the
|
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
| mergedMaxAICredits string | ||
| mergedMaxDailyAICredits string | ||
| mergedConcurrency string | ||
| mergedJobDiscriminator string |
There was a problem hiding this comment.
@copilot this is a subset of discriminator so it is part of concurrency.
Fixed in 506f725: the nested shared-import regression was caused by the fixtures using the legacy |
|
@copilot Please address the remaining unresolved review feedback on this PR, refresh the branch if needed, and run the
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "github.com"See Network Configuration for more information.
|
|
🎉 This pull request is included in a new release. Release: |
Shared workflows can now provide
concurrency.job-discriminator. The main workflow takes precedence when both define one.Changes
Import semantics
Validation
job-discriminatorunder shared workflowconcurrency.group.