Skip to content

Commit 305562f

Browse files
Record conditional caller concurrency experiment
1 parent 5680529 commit 305562f

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

  • docs/content/specification/workflow-triggers

docs/content/specification/workflow-triggers/design.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ These are [GitHub's concurrency guarantees][concurrency] and [Actions limits][li
3737
| --- | --- | --- |
3838
| Internal router with literal per-track policies | Adds one reusable-workflow layer; keeps caller configuration small and protects the complete pipeline. | Chosen. |
3939
| One conditional producer workflow-level group | Fewer internal jobs, but a conditional `queue` plus conditional cancellation fails concurrent production admission before jobs run. A static group using the same `github.workflow` and PR-or-ref identity also fails under production contention. | Rejected. |
40-
| One caller-side static workflow-level group | `queue: max` and `cancel-in-progress: false` retain and serialize every production event, PR update, and closure for a stable PR-or-ref key. The exact expression works as a caller workflow's concurrency group. | Rejected for the standard caller: the caller owns policy, PR updates do not converge, and closure waits behind obsolete activity. |
40+
| One conditional caller workflow-level group | `queue: max` without cancellation for pushes, plus `queue: single` with cancellation for PR events, successfully retained three serialized production runs, converged PR updates, and canceled activity before the closure run in a live caller experiment. | Rejected for the standard caller: the caller owns policy, and activity after reopening can still cancel close cleanup because closure shares the cancelable PR group. |
4141
| Caller-owned concurrency | Can protect caller-side sibling work, but duplicates policy and can discard work before the framework receives it when it uses the wrong queue policy. | Rejected for the standard caller. |
4242
| One cancelable group for activity and closure | Close can supersede activity natively, but reopening or another update can cancel cleanup. | Rejected. |
4343
| Concurrency only on publication or on a short admission job | Allows planning/version races or releases the lock before processing ends. | Rejected. |

0 commit comments

Comments
 (0)