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

Resolve dependency graph during lint #2675

Open
Tracked by #2649
carolynvs opened this issue Mar 30, 2023 · 0 comments
Open
Tracked by #2649

Resolve dependency graph during lint #2675

carolynvs opened this issue Mar 30, 2023 · 0 comments
Labels
pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal

Comments

@carolynvs
Copy link
Member

carolynvs commented Mar 30, 2023

During porter lint we should resolve the bundle's dependency graph and check for the following problems:

  1. Cycles, the dependency graph will fail to solve when there is a cycle. This is an error.
  2. Unsolvable, the dependency graph fails to find the referenced bundles for each dependency. This can happen when your dependencies are not yet published.
  3. The bundle interface of a dependency is unavailable. This can happen when the bundle interface reference can't be pulled.
  4. The bundle interface cannot be satisfied by the default bundle implementation. This can happen when the bundle reference doesn't satisfy the bundle interface used by the dependency, either because it doesn't have a matching provides declaration as required by the interface, or it doesn't have the right parameters, credentials and outputs.

It is okay for a dependency to declare an interface but not a default bundle implementation.

ℹ️ Read PEP003 - Advanced Dependencies for context about how dependencies should work, design details, and notes about desired behavior.

@carolynvs carolynvs changed the title Detect cycles (i.e. resolve the graph) Resolve dependency graph during lint Mar 30, 2023
@carolynvs carolynvs added the pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal label Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal
Projects
No open projects
Status: No status
Development

No branches or pull requests

1 participant