pipelines: Stages to support max concurrent steps
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the feature
When using stages with pipelines, there is currently no way to define desired concurrency (akin to `cdk deploy --concurrency`). Adding a new optional parameter to `aws-cdk-lib » pipelines » Wave` of `concurrency` would direct stage creation to use N number of max concurrent steps.
### Use Case
Pipelines uses a large concurrency for stage creation. This causes issues when making larger number of changes to certain services, such as DMS. DMS starts erroring out when more than 8-10 of certain changes take place at the same time. Depending on the changes being implemented, this can cause rollback issues as well.
### Proposed Solution
Add optional parameter to `aws-cdk-lib » pipelines » Wave` of `concurrency`. This would then alter how many steps are added to each stage.
### Other Information
_No response_
### Acknowledgements
- [X] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### CDK version used
2.118.0
### Environment details (OS name and version, etc.)
Python 3.12, Linux/macos
Contributor guide
Research direction
Start by locating aws-cdk-lib » pipelines » Wave and the stage-creation entry point in the TypeScript sources. Read the related pipeline tests, if present, to understand how steps are currently added; done means an optional concurrency setting limits the maximum concurrent steps without changing behavior when it is omitted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- ci-cd, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100