mirror of
https://github.com/games-on-whales/unraid-plugin.git
synced 2026-10-15 13:02:00 +00:00
[PR #49] [MERGED] Bundle helper scripts in the versioned txz so plugin updates refresh them #63
Labels
No labels
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/unraid-plugin#63
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/unraid-plugin/pull/49
Author: @JBailes
Created: 6/5/2026
Status: ✅ Merged
Merged: 6/5/2026
Merged by: @JBailes
Base:
main← Head:fix/bundle-scripts-in-txz📝 Commits (1)
9c07533Bundle helper scripts in the versioned txz so updates refresh them📊 Changes
7 files changed (+61 additions, -57 deletions)
View changed files
📝
.github/workflows/auto-release.yml(+9 -0)📝
.gitignore(+4 -0)📝
DEVELOPING.md(+21 -25)📝
gow.plg(+11 -31)📝
scripts/deploy.sh(+2 -0)📝
scripts/install.sh(+7 -0)📝
scripts/vars.sh(+7 -1)📄 Description
Problem
deploy.shand the other helper scripts were delivered as constant-path<FILE>downloads ingow.plg, with no checksum. Unraid caches checksum-less<FILE>downloads and does not re-fetch them on update unless the path or MD5 changes. The script path is identical on every version, so once a user had the scripts on the flash drive, plugin updates never replaced them. Onlysettings-ui.txzrefreshed reliably, because its filename embeds the version.How it surfaced (#47)
A user updated the plugin to the release carrying the #48 NVIDIA driver-volume rebuild fix, but kept executing the pre-fix
deploy.sh:That string only exists in the old
deploy.sh; the fixed one printswas built for ... — rebuilding. Their plugin version bumped and the UI updated (the txz refreshed), but the cacheddeploy.shdid not, so the stale 580 driver volume was never rebuilt against the 610 host driver, and Wolf kept hittingCUDA_ERROR_SYSTEM_DRIVER_MISMATCH/ EGLBAD_ALLOC.This affected all six scripts on every in-place update, not just
deploy.sh.Fix
Ship the scripts inside the version-stamped
settings-ui.txzso they inherit its reliable refresh:gow.plg: removed the six loose script<FILE>downloads and the now-unusedgitPkgURLentity. The install blockinstallpkgs the versioned package first, which lays the scripts down at the same/boot/config/plugins/gow/scripts/path the UI and remove handler already use, then runspreinstall.sh/install.sh.auto-release.yml: stagescripts/*.shinto the package tree beforefmakepkg..gitignorekeeps the staged copies untracked soscripts/stays the single source of truth.install.sh: install the package only if missing, so there's no double install at boot now thatgow.plgowns it.Safeguard
So a stale-script situation is visible next time instead of needing a
docker volume inspectto catch:vars.sh: readGOW_VERSIONfrom the installedgow.plgat runtime, instead of a hardcoded value (it was stuck at2026.05.25and the release workflow never updated it).deploy.sh: print==> GoW plugin <version>at the top of every run.DEVELOPING.md: updated install-flow, dev-install, build, and release docs.Verification
boot/config/plugins/gow/scripts/plus thegow.pageUI.gitPkgURLand the loose script<FILE>entries are gone;installpkgruns before the scripts.bash -npasses on changed scripts; version parse resolves against a real.plgand falls back tounknownwhen absent.🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.