Repository navigation
Switch Bay 0.13.2: Update covers okstratr and restarts updated skills - #15
Merged
Merged
Conversation
Settings -> Update now covers okstratr alongside Switch Bay, curiosity-engine and curiosity-merge. okstratr's install source is detected from the CLI Switch Bay spawns: a git checkout (editable install or setup.sh wrapper) moves to the release tag, a uv tool is reinstalled with uv tool install, any other Python env with pip (or uv pip when pip is absent). Unknown sources are reported and skipped; absent installs are left alone. After curiosity-engine or okstratr update, the supervised child is stopped (CE's viewer bundle rebuilt first) so the restarted daemon serves the new release. The update toast lists a line per component. Signed-off-by: benjsmith <benjamincharlessmith@gmail.com>
Signed-off-by: benjsmith <benjamincharlessmith@gmail.com>
Signed-off-by: benjsmith <benjamincharlessmith@gmail.com>
Signed-off-by: benjsmith <benjamincharlessmith@gmail.com>
Signed-off-by: benjsmith <benjamincharlessmith@gmail.com>
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.
Switch Bay 0.13.2.
Settings → Update now covers okstratr. Update already handled Switch Bay, curiosity-engine and curiosity-merge. It now also updates an installed okstratr, using the method that matches how it was installed:
contrib/setup.shPYTHONPATH wrapper, or a skill dir inside the repouv/tools/(orUV_TOOL_DIR)uv tool install --force "okstratr @ git+https://github.com/benjsmith/okstratr@<tag>"python -m pip install --upgrade …@<tag>, oruv pip install --python …if that env has no pipDetection starts from the same okstratr CLI that Switch Bay starts. Its interpreter is checked for the package version and
direct_url.json, so the update lands on the copy that actually runs. After a uv or pip install, the version is read again, and the update counts as failed if it didn't move.Updated skills restart on the new release. After curiosity-engine updates, the CE viewer bundle is rebuilt and the viewer stopped. After okstratr updates, its serve process is stopped. When the daemon restarts, it starts both on the new code. Before this, the supervisors saw a healthy child and kept the old process running.
Per-component result. The Update toast now shows one line per component: updated from → to, up to date, not installed, skipped with the reason, or failed with the error.
Policy: nothing changes.
in_app_update: falsestill returns 403 for both/api/update/checkand/api/update, andupdates.include_skills: falseskips every skill, okstratr included. Both are now covered by tests.The CHANGELOG states that this release works with curiosity-engine 1.9.2, curiosity-merge 0.8.4 and okstratr 0.2.0. Switch Bay doesn't pin skill versions anywhere else. Update tracks each repo's latest GitHub release. The 0.13.2 entry also covers the upload dialog from #14.
Tests:
tests/unit/test_updater.pymocks each skill and install mode: shebang, sh-exec and setup-wrapper parsing; git, uv-tool, pip, unknown and absent detection; and uv, pip and uv-pip apply with argv checks. It also covers CE git and CM npx routing, the child restart after an update (and none after a failed one), the include_skills skip, and the 403 for both endpoints. An autouse fixture keeps the existing tests away from whatever okstratr is installed on the machine running them.