-
Notifications
You must be signed in to change notification settings - Fork 974
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(pkg-mgr): Support dependency version upgrades #6017
feat(pkg-mgr): Support dependency version upgrades #6017
Conversation
a329967
to
1633d9d
Compare
@ezgidemirel noticed that some of the review comments I left on #5991 still apply here. Could you please do a quick pass and resolve them here and/or hit resolve there if they are no longer relevant |
reasonErrBuildDAG event.Reason = "BuildDAGError" | ||
reasonCyclicDependency event.Reason = "CyclicDependency" | ||
reasonInvalidDependency event.Reason = "InvalidDependency" | ||
reasonNoValidVersion event.Reason = "NoValidVersion" | ||
reasonErrCreate event.Reason = "CreateError" | ||
reasonErrUpdate event.Reason = "UpdateError" |
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.
Could be a follow up, but, I am starting to think to have a condition on the lock objects instead or in addition 🤔
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
e6d8aeb
to
1e8475f
Compare
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
1e8475f
to
01fb4d1
Compare
36bc5b5
to
428ac7f
Compare
Signed-off-by: Hasan Turken <turkenh@gmail.com>
428ac7f
to
44dba2c
Compare
Signed-off-by: ezgidemirel <ezgidemirel91@gmail.com>
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.
Great work implementing a long-awaited functionality, thanks @ezgidemirel 🙌
The PR looks good to me with the following open points which we could tackled as quick follow-ups:
- Use e2e artifacts from
xpkg.upbound.io/crossplane/...
and include metadata to generate those packages just like other test cases. - Extend e2e coverage including ensuring we prevent downgrades, finding the lowest possible version if multiple packages rely on the same package with different constraints etc.
- Error reporting and propagation. We are introducing lock error reporting with events in this PR and I am not sure if it would be better if we introduced a condition. Then, we could propagate that condition to packages or packagerevisions so that one could see what is wrong in case of a package fails with dependency resolution.
Description of your changes
How Package Manager Works
How Lock Reconciler Works Before & After This Change
I used following packages to test different scenarios. You can find the package dependencies and tag conventions below:
gt
: greater thandod
: depends on digestSuccess installations:
Failure insallations:
events on lock obj:
events on lock obj:
Success upgrades:
xpkg.upbound.io/ezgiorg/ezgi-configuration-nop
version update fromv0.1.0
tov0.1.1
causes dependency version updateFixes #4511
I have:
earthly +reviewable
to ensure this PR is ready for review.Addedbackport release-x.y
labels to auto-backport this PR.Need help with this checklist? See the cheat sheet.