-
Notifications
You must be signed in to change notification settings - Fork 1
feat: add reusable GitHub Release binary installer framework #293
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or requestneeds-triageNeeds review and prioritizationNeeds review and prioritization
Description
Problem
Projects frequently need to install CLI tools distributed as GitHub Release binaries (e.g., age, sops, just, delta). Each project writes its own download/extract logic.
Proposed Solution
Add an optional tools/doit/install_tools.py module with reusable helpers:
get_latest_github_release(repo)— fetch latest release tag from GitHub API (supportsGITHUB_TOKENauth)get_install_dir()— cross-platform install directory (~/.local/binon Linux/macOS,%USERPROFILE%\.local\binon Windows)- Platform-specific download/extract logic (Linux tarball, macOS brew, Windows zip)
- A
task_install_*pattern for defining installable tools
This pattern was developed in pynetappfoundry (tools/doit/install_tools.py) for installing age and sops, but the framework is fully generic. Needs utilities extracted as public functions and tool-specific config parameterized.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestneeds-triageNeeds review and prioritizationNeeds review and prioritization