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

Adding a new merge-sboms sub-command #593

Merged
merged 1 commit into from
Aug 14, 2024

Conversation

a-ovchinnikov
Copy link
Collaborator

@a-ovchinnikov a-ovchinnikov commented Aug 9, 2024

Functionality for merging SBOMs was already present in the codebase, this commit exposes it to a user.

Maintainers will complete the following section

  • Commit messages are descriptive enough
  • Code coverage from testing does not decrease and new code is covered
  • Docs updated (if applicable)
  • [-] Docs links in the code are still valid (if docs were updated)

Note: if the contribution is external (not from an organization member), the CI
pipeline will not run automatically. After verifying that the CI is safe to run:

tests/unit/test_cli.py Fixed Show fixed Hide fixed
.gitignore Outdated Show resolved Hide resolved
cachi2/interface/cli.py Outdated Show resolved Hide resolved
cachi2/interface/cli.py Show resolved Hide resolved
@brunoapimentel
Copy link
Contributor

Overall approach LGTM 👍

@a-ovchinnikov a-ovchinnikov force-pushed the sb3692 branch 2 times, most recently from d8b7445 to 3c23f2f Compare August 12, 2024 16:36
docs/usage.md Outdated Show resolved Hide resolved
Copy link
Member

@ben-alkov ben-alkov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, grammar is optional 😂

docs/usage.md Outdated Show resolved Hide resolved
@a-ovchinnikov a-ovchinnikov force-pushed the sb3692 branch 3 times, most recently from a6ed34d to 615cc59 Compare August 14, 2024 15:31
# i.e. outside of handle_errors() decorator. Simply raising
# an exception here will not produce correct exit code, thus
# the explicit call to exception wrapper.
_bail_out_with_error(InvalidInput("Need at least two different SBOM files"))
Copy link
Contributor

@brunoapimentel brunoapimentel Aug 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Raising InvalidInput would have the same effect as wrapping it with _bail_out_with_error here, right? (considering the command is annotated with @handle_errors). This would avoid the need to extracting out _bail_out_with_error.

In case you prefer to keep it extracted, I'd say doing it in a separate commit would be better (but raising the exception here in any case seems more consistent to me).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it won't: with a raise exit code is 1, with the wrapper it is set to 2 for Cachi2Errors. This exception will happen before arguments are passed to the decorated function, thus outside of handle_error scope.

Copy link
Contributor

@brunoapimentel brunoapimentel Aug 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right. I got confused because, when I tested it, it errored on {sbom_file} does not appear to be a valid Cachi2 SBOM, which is already within the decorator's scope.

So a small nitpick is to extract _bail_out_with_error in a commit prior to the main one, but it already LGTM the way it is.

Functionality for merging SBOMs was already present in
the codebase, this commit exposes it to a user.

Signed-off-by: Alexey Ovchinnikov <aovchinn@redhat.com>
@a-ovchinnikov a-ovchinnikov added this pull request to the merge queue Aug 14, 2024
Merged via the queue into containerbuildsystem:main with commit f6198fd Aug 14, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants