fix(install): pin OpenShell to 0.0.21, upgrade on mismatch#1459
fix(install): pin OpenShell to 0.0.21, upgrade on mismatch#1459
Conversation
Upgrading NemoClaw did not upgrade OpenShell because (1) onboard.js only checked binary presence, not version, and (2) install-openshell.sh had a hardcoded MIN_VERSION floor of 0.0.7 and always downloaded the latest release. Add openshellVersion pin to package.json as single source of truth. The install script now reads OPENSHELL_PIN_VERSION env var to download that exact tagged release and treat it as the minimum required version. Onboard compares the installed version against the pin and triggers an upgrade when the installed version is too old. Fixes: NVBug 6044568 Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThis change implements OpenShell version pinning. A new Changes
Sequence DiagramsequenceDiagram
participant PkgJson as package.json
participant Onboard as bin/lib/onboard.js
participant InstallScript as scripts/install-openshell.sh
participant GitHub as GitHub Releases
Onboard->>PkgJson: Read openshellVersion
PkgJson-->>Onboard: "0.0.21"
Onboard->>Onboard: Call getInstalledOpenshellVersion()
Onboard->>Onboard: versionGte(installed, pinned)?
alt Version too low or missing
Onboard->>InstallScript: spawnSync with OPENSHELL_PIN_VERSION=0.0.21
InstallScript->>GitHub: gh release download --tag v0.0.21
GitHub-->>InstallScript: Release artifact
InstallScript-->>Onboard: Installation complete
else Version sufficient
Onboard-->>Onboard: Skip installation
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
No longer relev |
Summary
openshellVersion: "0.0.21"topackage.jsonas single source of truth for the required OpenShell CLI versioninstall-openshell.shnow readsOPENSHELL_PIN_VERSIONenv var to download that exact tagged release (not latest) and treats it as the minimum required versiononboard.jscompares the installed OpenShell version against the pin and triggers an upgrade when below — previously it only checked binary presenceTest plan
npm testpasses (new tests forversionGteand install script pin awareness)install-openshell.sh(no env var) still downloads latest and uses 0.0.7 floorFixes NVBug 6044568
Summary by CodeRabbit
New Features
Tests