chore: replace UnavailableError with wrapping for i/p/client/ocisif (release4.0) #2279
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the Pull Request (PR):
In pkg/ocibundle/ocisif an UnavailableError type was provided to hold an underlying error, effectively performing error wrapping. The error was used:
The underlying intent was to use this error type to implement fallback in the actions flows from OCI-SIF create/execution to a directory bundle.
Sharing a generic error across the packages isn't ideal, and we should be able to use Go's native error wrapping.
However, we shouldn't change
pkg/ocibundle/ocisif
as this modifies a public API.This PR replaces the UnavailableError type in the client case with a specific error, and the use of error wrapping.
It was also noted that in actions.go error messages / warning were very long and confusing to read. They have been split to multiple errors / warnings.
Before submitting a PR, make sure you have done the following:
make check
and tested this PR locally with amake test
, andmake testall
if possible (see CONTRIBUTING.md).