(aws-cdk-lib/pipelines): (muliple s3 sources from same bucket fails)
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the bug
I add two files from the same s3 bucket as source:
```ts
new pipelines.CodePipeline(this, 'pipeline', {
synth: new pipelines.ShellStep('Build-codepipeline-and-self-update', {
input: pipelines.CodePipelineSource.s3(
artifactsBucket,
'some-artifact.zip', {
trigger: cdk.aws_codepipeline_actions.S3Trigger.NONE,
actionName: 'source-nr-1'
}),
additionalInputs: {
'somewhere': pipelines.CodePipelineSource.s3(
artifactsBucket,
'another-key-same-bucket.zip', {
trigger: cdk.aws_codepipeline_actions.S3Trigger.NONE,
actionName: 'source-nr-2'
}),
},
commands: [
'...',
],
}),
});
```
Fails with:
```sh
Error: Node with duplicate id: c8e9dd64d043805dea2bbc5f5d6ff6c442e1330971
at Graph.add (C:\Kildekode\github\bsf-innsikt\deploy\service\node_modules\aws-cdk-lib\pipelines\lib\helpers-internal\graph.ts:180:15)
at PipelineGraph.addAndRecurse (C:\Kildekode\github\bsf-innsikt\deploy\service\node_modules\aws-cdk-lib\pipelines\lib\helpers-internal\pipeline-graph.ts:266:12)
at PipelineGraph.addAndRecurse (C:\Kildekode\github\bsf-innsikt\deploy\service\node_modules\aws-cdk-lib\pipelines\lib\helpers-internal\pipeline-graph.ts:270:33)
at PipelineGraph.addBuildStep (C:\Kildekode\github\bsf-innsikt\deploy\service\node_modules\aws-cdk-lib\pipelines\lib\helpers-internal\pipeline-graph.ts:114:17)
at new PipelineGraph (C:\Kildekode\github\bsf-innsikt\deploy\service\node_modules\aws-cdk-lib\pipelines\lib\helpers-internal\pipeline-graph.ts:74:29)
at CodePipeline.doBuildPipeline (C:\Kildekode\github\bsf-innsikt\deploy\service\node_modules\aws-cdk-lib\pipelines\lib\codepipeline\codepipeline.ts:371:25)
at CodePipeline.buildPipeline (C:\Kildekode\github\bsf-innsikt\deploy\service\node_modules\aws-cdk-lib\pipelines\lib\main\pipeline-base.ts:120:10)
at new CodePipelineStack (C:\Kildekode\github\bsf-innsikt\deploy\service\lib\deploy-everything\code-pipeline-stack.ts:228:21)
at main (C:\Kildekode\github\bsf-innsikt\deploy\service\bin\pipeline.ts:52:5)
at Object. (C:\Kildekode\github\bsf-innsikt\deploy\service\bin\pipeline.ts:61:1)
```
### Expected Behavior
Should not fail
### Current Behavior
Throws error
### Reproduction Steps
See above
### Possible Solution
_No response_
### Additional Information/Context
_No response_
### CDK CLI Version
2.20.0
### Framework Version
_No response_
### Node.js Version
16.14.2
### OS
Windows 10
### Language
Typescript
### Language Version
_No response_
### Other information
_No response_
Contributor guide
Research direction
Start by reproducing the two-source example, then trace the duplicate ID through pipelines/lib/helpers-internal/graph.ts, pipeline-graph.ts, and codepipeline.ts, as shown in the stack trace. Done means the provided CodePipeline configuration accepts two S3 sources from the same bucket without throwing a duplicate-node error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 38/100