[WIP]feat: add cross-platform installer scripts and binary release pipeline#38
Open
adeptofvoltron wants to merge 1 commit into
Open
[WIP]feat: add cross-platform installer scripts and binary release pipeline#38adeptofvoltron wants to merge 1 commit into
adeptofvoltron wants to merge 1 commit into
Conversation
Adds install/install.sh (Mac/Linux) and install/install.ps1 (Windows) for one-command install with no Python prerequisite, backed by a GitHub Actions matrix release workflow that builds PyInstaller standalone binaries for linux-x64, darwin-x64, darwin-arm64, and windows-x64. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.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.
Summary
install/install.sh(Mac/Linux) andinstall/install.ps1(Windows) for a single-command install with no Python prerequisite on the user's machine.github/workflows/release.yml— 4-platform matrix build (linux-x64, darwin-x64, darwin-arm64, windows-x64) that compiles standalone PyInstaller binaries, runs a smoke test, generates SHA256 checksums, and publishes all 8 artifacts to GitHub Releases on everyv*tag pushnimble/__main__.pyas the PyInstaller entry point (also enablespython -m nimble)Install experience
Mac/Linux:
curl -fsSL https://raw.githubusercontent.com/adeptofvoltron/nimble/main/install/install.sh | shWindows (PowerShell):
Key design decisions
--collect-all pynput—pynputuses dynamic platform imports that static analysis misses;--collect-allbundles all backendsmacos-14pinned (notmacos-latest) — guarantees Apple Silicon runner without drift risk/usr/local/binTest plan
v0.0.1-testtag and verify all 4 matrix jobs pass and GitHub Releases shows 8 assets (4 binaries + 4 checksums)curl ... | shon a fresh Mac (Intel and Apple Silicon) and Linux VM — confirmnimble --helpworks in a new terminalpowershell -c "iwr ... | iex"on Windows 10/11 — confirmnimble --helpworks in a new terminalNIMBLE_INSTALL_DIR=~/.local/bin curl ... | sh— confirm no sudo prompt and binary in correct location🤖 Generated with Claude Code