Remove frontmatter concurrency_policy support, implement code-based concurrency rules#105
Remove frontmatter concurrency_policy support, implement code-based concurrency rules#105
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
| } | ||
| ] | ||
| }, | ||
| "concurrency_policy": { |
There was a problem hiding this comment.
@copilot remove this field and instead maintain policy internally only in golang.
There was a problem hiding this comment.
Removed the concurrency_policy field from the JSON schema as requested. The field is now processed internally by Go code only - users can still define it in frontmatter but it's filtered out during schema validation. This maintains all functionality while keeping the policy logic internal. See commit 820cd8b.
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot remove support for specifying concurrency_policy in the frontmatter. The different rules should be done in code. |
…only Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Removed support for specifying Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
This PR removes the ability for users to specify
concurrency_policyin workflow frontmatter and implements all concurrency rules directly in Go code based on workflow trigger types.Problem
The previous implementation allowed users to define custom concurrency policies in their workflow frontmatter using the
concurrency_policyfield. This added complexity to the user interface and exposed internal implementation details through the schema.Solution
Removed Frontmatter Support
Users can no longer specify
concurrency_policyin their workflow frontmatter. The field is completely removed from parsing and schema validation.Code-Based Policy Generation
All concurrency rules are now implemented directly in Go code with intelligent defaults based on workflow characteristics:
gh-aw-${{ github.workflow }}-${{ github.ref }}withcancel-in-progress: truegh-aw-${{ github.workflow }}-${{ github.event.issue.number || github.event.pull_request.number }}withcancel-in-progress: truegh-aw-${{ github.workflow }}grouping without cancellationgh-aw-${{ github.workflow }}grouping without cancellationUser Override Support Maintained
The existing
concurrencyfield in frontmatter continues to work and takes precedence over auto-generated policies, ensuring backward compatibility for users with specific concurrency requirements.Key Benefits
concurrencyfield overrides still workTechnical Implementation
parseConcurrencyPolicyFromFrontmatter()and related parsing functionsGenerateConcurrencyConfigWithFrontmatter()to use only code-based rulesconcurrency_policyfield filtering from schema validationThis change makes the concurrency system more predictable and easier to maintain while providing users with sensible defaults that work well for most use cases.
Fixes #104.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.