Fix sdk info#517
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR fixes the sdk info command which was broken when SDK layers were introduced. SDK layers can depend on SDK volumes but don't follow the workshop naming convention. The fix excludes these layers and workshops owned by other users from the list of workshops using an SDK volume. Additionally, it addresses formatting issues in the sdk info output and adds spread tests for both sdk info and sdk list commands.
Key changes:
- Filters out SDK layers and other users' workshops when displaying SDK volume usage
- Improves formatting of SDK description output by trimming trailing newlines
- Conditionally displays "installed:" header only when there are installations
- Adds comprehensive spread tests with helper utilities
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| internal/workshop/lxd/lxd_backend_volume.go | Adds project name filtering to exclude SDK layers and other users' workshops from volume info |
| cmd/sdk/info.go | Fixes description formatting and conditionally displays "installed:" header |
| tests/main/sdk-info/task.yaml | Adds spread test for sdk info command with multiple scenarios |
| tests/main/sdk-info/header.txt | Test fixture for expected sdk info output header |
| tests/main/sdk-info/.workshop/stable.yaml | Test workshop configuration for stable channel |
| tests/main/sdk-info/.workshop/edge.yaml | Test workshop configuration for edge channel |
| tests/lib/utils.sh | Adds sdk_exec helper function and snap alias setup |
| tests/lib/sdk/test-sdk-info/latest/stable/sdk/hooks/setup-base | Test SDK hook for stable channel |
| tests/lib/sdk/test-sdk-info/latest/stable/meta/sdk.yaml | Test SDK metadata for stable channel |
| tests/lib/sdk/test-sdk-info/latest/edge/sdk/hooks/setup-base | Test SDK hook for edge channel |
| tests/lib/sdk/test-sdk-info/latest/edge/meta/sdk.yaml | Test SDK metadata for edge channel |
TICS Quality Gate✔️ PassedworkshopAll conditions passedSee the results in the TICS Viewer The following files have been checked for this project
|
dmitry-lyfar
approved these changes
Oct 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
I broke the
sdk infocommand when introducing SDK layers, which can depend on SDK volumes but don't follow the usual workshop naming convention. For now at least, these are excluded from the list of workshops using the SDK volume, as are workshops and layers owned by other users.Also fixes a couple of formatting nitpicks I had with
sdk info, and adds spread tests forsdk infoandsdk list.For the tests I'm using
snap alias workshop.sdk sdk, but we'll want to add this at the Store level. I'm not sure if doing that will remove the need to do it manually for locally-built snaps.Self-review quick check
Docs
Or: