Skip to content
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

Design: Dependency Graph Traversal #69

Closed
carolynvs opened this issue Dec 3, 2018 · 5 comments
Closed

Design: Dependency Graph Traversal #69

carolynvs opened this issue Dec 3, 2018 · 5 comments
Labels
design 🚲🏠 Bust out your paint chips, it's time to bikeshed. hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please.
Milestone

Comments

@carolynvs
Copy link
Member

Currently we only resolve dependencies down a single level. Eventually more complicated bundles will want to have dependencies that have dependencies too. Resolve and apply them from the bottom up.

@carolynvs carolynvs added the gap We missed a spot label Dec 7, 2018
@carolynvs carolynvs added this to the 1.0 Fully Baked Implementations milestone Jan 24, 2019
@glyn
Copy link

glyn commented Feb 6, 2019

By nested dependencies do you mean anything other than transitive dependencies? The use of a different term made me wonder.

I haven't discovered how dependencies are specified in Porter (I spent at least 5 minutes scanning the code ;-) ), but have you any thoughts about the approach you might take on dependency resolution? See this and this for example.

@carolynvs carolynvs changed the title Implement nested dependencies Implement transitive dependencies Feb 6, 2019
@carolynvs
Copy link
Member Author

D'oh! You caught me out, I didn't use the official term. 👀 I've updated the title to reflect what I meant (transitive dependencies, aka dependencies of my dependencies). Right now porter doesn't traverse the dependency graph and only resolves direct dependencies.

Yup, I've seen from maintaining dep the many ways that dependency management and resolution are hard which is why we stopped at direct dependencies for the moment while we are focused on the POC and developer experience for authoring bundles.

Here is an example of dependencies in porter:

https://github.com/deislabs/porter/blob/55e259ce57aabb7138c28668210f6dbfcc0243a0/build/testdata/bundles/wordpress/porter.yaml#L8-L12

@glyn
Copy link

glyn commented Feb 7, 2019

Thanks @carolynvs. I've raised #147 to discuss dependencies further (still waiting for slack access).

@carolynvs
Copy link
Member Author

I dunno if it's a glitch in the matrix or what? I got immediate access through this form: https://slack.cncf.io

@carolynvs carolynvs added design 🚲🏠 Bust out your paint chips, it's time to bikeshed. and removed gap We missed a spot labels Feb 7, 2019
@carolynvs carolynvs changed the title Implement transitive dependencies Design: Dependency Graph Resolution Feb 7, 2019
@carolynvs carolynvs modified the milestones: Fully Baked, Dependencies May 2, 2019
@carolynvs carolynvs changed the title Design: Dependency Graph Resolution Design: Dependency Graph Traversal May 2, 2019
@carolynvs carolynvs removed the backlog label Sep 14, 2019
@carolynvs carolynvs added the hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please. label Feb 24, 2022
@carolynvs
Copy link
Member Author

Closing. This will be implemented through PEP 003.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design 🚲🏠 Bust out your paint chips, it's time to bikeshed. hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please.
Projects
None yet
Development

No branches or pull requests

2 participants