Extend refresh with new options#464
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a refresh-restore feature that allows workshops to be refreshed in two modes: update mode (default) that applies changes from workshop definitions, and restore mode that reverts workshops to their last successful snapshot state. The feature includes new CLI options, API parameters, and logic to detect when no updates are available.
Key changes:
- Adds
--restoreflag to refresh command for reverting to snapshot state - Implements refresh option validation in API with "update" and "restore" modes
- Introduces "no-updates-available" error handling to prevent unnecessary operations
Reviewed Changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
internal/overlord/conflict/conflict.go |
Defines RefreshOption enum with update/restore modes and parsing logic |
internal/overlord/workshopstate/request.go |
Implements refresh option handling and update detection logic in RefreshMany method |
internal/daemon/api_workshops.go |
Adds refresh option validation and no-updates-available response handling |
cmd/workshop/refresh.go |
Adds --restore flag and integrates refresh options into CLI |
cmd/workshop/sketch.go |
Handles no-updates-available errors in sketch refresh workflow |
client/projects.go |
Updates Refresh API call to include refresh option parameter |
| Multiple test files | Updates test expectations to include new refresh-option parameter |
fca30b1 to
a88f55b
Compare
ed350bd to
526bfc8
Compare
526bfc8 to
36671f8
Compare
Contributor
jonathan-conder
left a comment
There was a problem hiding this comment.
Looks good and seems to be working well for the most part
akcano
requested changes
Aug 28, 2025
jonathan-conder
approved these changes
Aug 28, 2025
7ed97a8 to
cccaa47
Compare
* workshop refresh --restore will restore the workshop from the latest snapshot made after the last successful setup-base run. * workshop refresh will skip the change if no updates to the SDKs, interface connections and the base were found by the resolver.
cccaa47 to
3d1eb87
Compare
TICS Quality Gate✔️ PassedworkshopAll conditions passedSee the results in the TICS Viewer The following files have been checked for this project
|
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
workshop refreshwill skip the change if no updates to the SDKs, interface connections or the base were found by the resolver.workshop refresh --restorewill restore the workshop from the latest snapshot made after the last successful setup-base run.Self-review quick check
Docs
Or: