Skip to content

Commit 70acc84

Browse files
authored
fix(pipelines): using the same source (s3, connection, or codecommit) in a pipeline causes duplicate id error (#27602)
Differentiates between sources of the same repository by appending the branch name onto the node id and input/output artifacts. This avoids the duplicate id errors for different branches of the same repository, as well as validating that each source is a unique repository & branch combination. The only change to the CFN template is the input & output artifacts, but since these are not stateful resources, they can be modified without breaking changes. The artifacts are also updates in tandem, so the pipeline source behavior will stay the same. This change impacts these `CodePipelineSource`s: - `s3()` - `objectKey` appended - `connection()` - `codeCommit()` Does not change `ecr()` behavior as there is no notion of folders or branches. Does not change `github()` behavior as doing so would cause destructive changes of webhooks. Closes #23916 and #19875. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent d85f9a7 commit 70acc84

File tree

36 files changed

+42030
-106
lines changed

36 files changed

+42030
-106
lines changed

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-file-system-locations.js.snapshot/PipelinesFileSystemLocations.assets.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-file-system-locations.js.snapshot/PipelinesFileSystemLocations.template.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,7 @@
805805
},
806806
"OutputArtifacts": [
807807
{
808-
"Name": "c81125c577cddc5477d274144695873cfd8965e6a0_Source"
808+
"Name": "c81125c577cddc5477d274144695873cfd8965e6a0_key_Source"
809809
}
810810
],
811811
"RoleArn": {
@@ -835,7 +835,7 @@
835835
},
836836
"InputArtifacts": [
837837
{
838-
"Name": "c81125c577cddc5477d274144695873cfd8965e6a0_Source"
838+
"Name": "c81125c577cddc5477d274144695873cfd8965e6a0_key_Source"
839839
}
840840
],
841841
"Name": "Synth",

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-file-system-locations.js.snapshot/PipelinesFileSystemLocationsPipeline5689C8D8.dot

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-file-system-locations.js.snapshot/manifest.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.newpipeline-with-file-system-locations.js.snapshot/tree.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/pipelines/test/integ.pipeline-with-additional-inputs.js.snapshot/PipelineAdditionalInputs.assets.json

+19
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)