chore: update install commands to use tag-based URLs (#200)

Changed install commands to download install.sh directly from the release
tag instead of from main branch with --tag parameter. This ensures:

1. The install script version matches the release being installed
2. No version mismatch between script and code
3. Simpler, cleaner install commands

Changes:
- install.sh: Updated error message to use v0.6.0-beta URL
- README.md: All install commands now use v0.6.0-beta/install.sh
- docs/INSTALL.md: Updated quick install command
- docs/UPDATE.md: Updated update command examples
- docs/RELEASE_PROCESS.md: Updated example command
- src/vocalinux/main.py: Updated error message install command
- tests/distro-testing-checklist.md: Updated download URL
- web/src/app/page.tsx: Now uses dynamic tag in URL (not main)
- .github/workflows/release.yml: Release notes use tag-based URL

Before:
  curl .../main/install.sh | bash -s -- --tag=v0.6.0-beta

After:
  curl .../v0.6.0-beta/install.sh | bash

Fixes version consistency between install script and installed code.
This commit is contained in:
Jatin K Malik
2026-02-12 13:02:51 -08:00
committed by GitHub
parent 091731e7ca
commit 86ee79cc0d
9 changed files with 22 additions and 22 deletions
+1 -1
View File
@@ -74,7 +74,7 @@ jobs:
### Quick Install (Recommended)
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=${{ github.ref_name }}
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/${{ github.ref_name }}/install.sh | bash
```
### From Source
+4 -4
View File
@@ -124,7 +124,7 @@ Here are some screenshots showcasing Vocalinux in action:
Our new interactive installer guides you through setup with intelligent hardware detection:
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
```
**Choose your engine:**
@@ -144,19 +144,19 @@ The installer will:
**Default (whisper.cpp - recommended):**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
```
Fastest installation (~1-2 min), universal GPU support via Vulkan.
**Whisper (OpenAI) - if you prefer PyTorch:**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta --engine=whisper
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper
```
NVIDIA GPU only (~5-10 min, downloads PyTorch + CUDA).
**VOSK only - for low-RAM systems:**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta --engine=vosk
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk
```
Lightweight option (~40MB), works on systems with 4GB RAM.
+2 -2
View File
@@ -7,7 +7,7 @@ This guide provides detailed instructions for installing Vocalinux on Linux syst
### One-liner Installation (Recommended)
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash
```
> **Note**: Installs v0.6.0-beta with **whisper.cpp** (our new default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
@@ -495,7 +495,7 @@ Already have Vocalinux installed? See the [Update Guide](UPDATE.md) for instruct
Quick update command:
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash
```
## Getting Help
+1 -1
View File
@@ -112,7 +112,7 @@ Change the Development Status classifier:
**Install Commands:**
Update all curl commands to use the new tag:
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.5.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash
```
**Release Announcement (lines ~31-34):**
+3 -3
View File
@@ -9,7 +9,7 @@ This guide explains how to update Vocalinux to the latest version.
Simply re-run the installation command with the new version tag:
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash
```
The installer will:
@@ -50,7 +50,7 @@ cd vocalinux
./install.sh --tag=v0.4.1-alpha
# Or via curl (for any installation)
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash
```
**What gets preserved:**
@@ -151,7 +151,7 @@ See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/
./uninstall.sh --keep-config --keep-data
# Reinstall
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash
```
### Old Version Still Running
+3 -3
View File
@@ -101,7 +101,7 @@ while [[ $# -gt 0 ]]; do
echo " --test Run tests after installation"
echo " --venv-dir=PATH Specify custom virtual environment directory"
echo " --skip-models Skip downloading speech models during installation"
echo " --tag=TAG Install specific release tag (default: v0.4.1-alpha)"
echo " --tag=TAG Install specific release tag (default: v0.6.0-beta)"
echo " --help Show this help message"
echo ""
echo "Examples:"
@@ -141,7 +141,7 @@ print_info "=============================="
echo ""
# Default to installing from latest stable release instead of main branch
INSTALL_TAG="${INSTALL_TAG:-v0.4.1-alpha}"
INSTALL_TAG="${INSTALL_TAG:-v0.6.0-beta}"
# Check if running from within the vocalinux repo or remotely (via curl)
REPO_URL="https://github.com/jatinkrmalik/vocalinux.git"
@@ -802,7 +802,7 @@ if [[ "$INTERACTIVE_MODE" == "yes" ]]; then
if [ ! -t 0 ]; then
print_error "Interactive mode requires a terminal (TTY)."
print_error "Please run from a terminal, or use automatic mode:"
print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --auto"
print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash"
exit 1
fi
+1 -1
View File
@@ -122,7 +122,7 @@ def check_dependencies():
logger.error("")
logger.error("For the best experience, install using the recommended method:")
logger.error(
" curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash"
" curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh | bash"
)
return False
+1 -1
View File
@@ -40,7 +40,7 @@ Use this checklist when testing Vocalinux on a new Linux distribution.
### Standard Installation
- [ ] Download installer
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.0-beta/install.sh -o /tmp/vl.sh
```
- [ ] Run installer
+6 -6
View File
@@ -38,17 +38,17 @@ import { CodeBlock } from "@/components/code-block";
import { useInView } from "react-intersection-observer";
// The one-liner install command (split into three lines for display)
// Downloads install.sh from main (which has --tag support) and passes the latest release tag
// Downloads install.sh from the specific release tag to ensure version consistency
const getInstallCommands = (latestRelease: string) => ({
interactiveInstallCommand: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --interactive`,
interactiveInstallCommand: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/${latestRelease}/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --interactive`,
oneClickInstallCommand: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease}`,
oneClickInstallCommand: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/${latestRelease}/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh`,
oneClickInstallWhisper: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --engine=whisper`,
oneClickInstallWhisper: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/${latestRelease}/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper`,
oneClickInstallVosk: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --engine=vosk`,
oneClickInstallVosk: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/${latestRelease}/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk`,
uninstallCommand: `curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/uninstall.sh -o /tmp/vul.sh && bash /tmp/vul.sh`,
uninstallCommand: `curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/${latestRelease}/uninstall.sh -o /tmp/vul.sh && bash /tmp/vul.sh`,
});
const FeatureCard = ({