-
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
feat(pipelines): changes needed to support other engines #15191
feat(pipelines): changes needed to support other engines #15191
Conversation
Wait up -- you shouldn't need to do this. The |
If we want to do this properly we should be able to publish it as a plugin package on NPM, no? (That would prove that other people would be able to do the same) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where do you need CreateStack
again?
This is about considering the template asset in the pipeline graph (not about adding another asset to the assembly). Without this, the PipelineStructure class used to simply filter out this asset. |
It's needed by the GitHub action I am using. |
Good point. Definitely doable. I guess I can extract this already to a separate package. |
4022d0c
to
219e715
Compare
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
This PR includes changes needed in the Pipelines library that can help with implementation of other pipeline engines. Namely, these changes were identified during work to implement a GitHub workflows engine.
PipelineStructure
for publishing the CFN template of a stack to the assets bucket. This is enabled by settingpublishTemplate: true
.PipelineStructure
for omitting the "prepare" step in case the engine only wants a single step for each stack deployment. This is enabled by settingprepareStep: false
.graphNode.uniqueId
which returns a graph-wide unique ID of the node.graphNode.allDeps
which returns a union of the node's dependencies and the dependencies of all its parents.PipelineStructure
toPipelineGraph
.Additionally, in order to allow engine providers to leverage these helpers, I've moved all these types under
lib/helpers-internal
so they can be imported through a barrel import:import { PipelineGraph } from '@aws-cdk/pipelines/helpers-internal'
.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license