-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error in CDK 1.14.0: "Only a PipelineProject can be added to a CodePipeline" #4646
Comments
Yes, @nmussy is correct. The project you now pass to |
I see. For us this is a breaking change and require us to update our stacks and pipelines. We previously used just The nasty thing is that when updating all pipelines, we again hit the #4465 and need to manually deploy all pipelines one-by-one to avoid hitting the resource limit. |
The CDK team must stop mishandling semantic versioning. This is a breaking change, one of far too many. It's a problem. |
Apologies that this caused some unintended churn for customers. We have discussed backwards compatibility on the team a lot and understand that it is a critical expectation for all GA modules in the AWS Construct Library. I followed up on this specific change with the team and we are looking at removing the type check error for the next release. Please let us know if you are hit by other backwards incompatible changes in GA construct library modules. We strive hard to ensure we don't make breaking changes and if we've missed something, we want to know so we can improve our process. |
When we quite mechanically converted our pipelines to CDK, we weren't aware of differences between The versioning scheme is not problematic for us, and neither is minor change in code but since #4465 this became quite much work for not a clear reason. If you need customers to move to the proper construct, would it be possible to add a some kind of warning first before enforcing build-breaking change? |
I think the validation should be that it is a Project with a CodePipeline source and not necessarily a PipelineProject, which is just a convenience wrapper for a Project with a CodePipeline source. |
…EPIPELINE can be added to a pipeline Fixes aws#4646
@PeterBengtson @markusl apologies for the breakage. This was a result of us misunderstanding how the interaction between CodeBuild and CodePipeline works. We were under the impression that if you added a CodeBuild project to a CodePipeline with What we failed to realize was that actually neither CodeBuild nor CodePipeline do any validation of this. What happens is that the execution of the project triggered from the pipeline simply overrides any source set on the project level, and simply passes the source from the CodePipeline's S3 bucket. I've submitted a PR reverting this validation here: #4689 . It will be released in Again, apologies for the bad experience. |
Thanks for reversing this, but I really think the problem is wider and involves the development methodology and design philosophy choices made by the CDK team in areas such as framework abstraction, generality and consistency. It also has to do with how you introduce changes. All the trouble you've given us when you've changed existing features – in all areas, not just with pipelines – could very easily have been avoided if you've simply put the choice in your users' hands. That the CDK team doesn't do this by default is very worrying. |
Can you please provide some more examples? We are extremely intentional about breaking changes to the API, but I am wondering if there are other aspects of “breaking behavior” that we are missing. |
Sure. I'm preparing a letter to you and Adam about these things; it should be ready by Monday. My team and I are working in Fintech, in a highly controlled PCI+ environment where every change is scrutinised in detail by several internal and external security bodies. Everything you do to our infrastructure without informing us beforehand, or without giving us a choice, creates Jira tickets and meetings. Had the CDK team kept to the real meaning of semver, we would have no extra work. |
I tried updating our CDK stacks to latest version but encountered a new problem with CodePipeline:
Is there something we need to change now with the latest version?
Reproduction Steps
Environment
Other
This is 🐛 Bug Report
The text was updated successfully, but these errors were encountered: