-
Notifications
You must be signed in to change notification settings - Fork 4
graph: auto rebuild/validation of reverse deps #18
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
base: master
Are you sure you want to change the base?
Conversation
This commit introduces the graph modules with class to handle a graph of reverse dependencies between packages in a Rift project. When a package is built, especially when its version has changed, it is important to verify that it does not break build and tests of other packages that depends on it (aka. reverse dependencies). With this new feature, as soon as dependency_tracking option is enabled in project configuration, the graph of reverse dependencies is automatically created with rift build and validate actions, unless --skip-deps option is set on command line. Dependencies are either found in packages info.yaml metadata file or by parsing subpackages (including their provides) and build requirements out of RPM spec files as a fallback. Rift then solves the reverse dependencies of the packages provided by users with build and validate actions to determine the packages that should be rebuilt or validated consequently. Unit tests are added to validate the code introduced for this feature.
Apply fixes requested and suggested during review.
|
Thank you @valeriyoann for your detailed review! I think I have covered all points. |
lib/rift/Controller.py
Outdated
| mock = Mock(config, arch, config.get('version')) | ||
|
|
||
| for repo in repos.all: | ||
| logging.debug("Mock with repo %s: %s", repo.name, repo.url) |
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.
question: est ce que ça serait pas mieux d'avoir un message de debug plus clair ?
"init mock chroot with..." par exemple
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.
Oops, this was actually a debugging leftover 🫣 I removed it in a290124.
This commit introduces the graph modules with class to handle a graph of reverse dependencies between packages in a Rift project.
When a package is built, especially when its version has changed, it is important to verify that it does not break build and tests of other packages that depends on it (aka. reverse dependencies).
With this new feature, as soon as dependency_tracking option is enabled in project configuration, the graph of reverse dependencies is automatically created with rift build and validate actions, unless --skip-deps option is set on command line. Dependencies are either found in packages info.yaml metadata file or by parsing subpackages (including their provides) and build requirements out of RPM spec files as a fallback.
Rift then solves the reverse dependencies of the packages provided by users with build and validate actions to determine the packages that should be rebuilt or validated consequently.
Unit tests are added to validate the code introduced for this feature.