Skip to content

Add nightly support to install.sh#911

Merged
Soph merged 6 commits intomainfrom
add-nightly-installation-into-install-bash-script
Apr 10, 2026
Merged

Add nightly support to install.sh#911
Soph merged 6 commits intomainfrom
add-nightly-installation-into-install-bash-script

Conversation

@gtrrz-victor
Copy link
Copy Markdown
Contributor

@gtrrz-victor gtrrz-victor commented Apr 10, 2026

Summary

This PR adds nightly installation support to scripts/install.sh, aligns Homebrew stable and nightly documentation around cask installs, updates version-check notifications so the suggested upgrade command matches the detected install manager and release channel, and documents the new release-channel options in the README.

What Changed

  • Added --channel stable|nightly to scripts/install.sh
  • Defaulted install.sh to the latest stable release
  • Added latest-nightly resolution in install.sh for --channel nightly
  • Updated version-check update hints to infer the right command from binary location plus version channel
  • Aligned Homebrew stable upgrade guidance to use brew upgrade --cask entire
  • Aligned README Homebrew install commands so both stable and nightly use cask installs
  • Added Scoop detection and stable update hints for Windows installs
  • Restored mise detection so existing mise installs still get mise upgrade entire
  • Added tests covering brew stable, brew nightly, scoop, mise, and curl-installer fallback behavior
  • Added a follow-up plan doc for installer-owned provenance and future auto-update support

Update Commands Shown By Version Check

These are the update commands the CLI can now display when a newer version is available:

  • Homebrew stable: brew upgrade --cask entire
  • Homebrew nightly: brew upgrade --cask entire@nightly
  • Script stable: curl -fsSL https://entire.io/install.sh | bash
  • Script nightly: curl -fsSL https://entire.io/install.sh | bash -s -- --channel nightly
  • Scoop stable: scoop update entire/cli
  • Mise: mise upgrade entire

Intentionally Deferred

This PR does not add install.json or installer-owned provenance yet.

That work is deferred to a follow-up so this PR stays focused on the low-friction path:

  • latest stable / latest nightly installation via install.sh
  • correct upgrade hints based on binary detection

The follow-up plan is documented in docs/install-provenance-plan.md.

Verification

  • bash -n scripts/install.sh
  • go test ./cmd/entire/cli/versioncheck
  • mise run test

Entire-Checkpoint: 047bd8a0866e
Copilot AI review requested due to automatic review settings April 10, 2026 10:44
@gtrrz-victor gtrrz-victor requested a review from a team as a code owner April 10, 2026 10:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a “nightly” release channel to the curl-based installer and updates the CLI’s update instructions to account for nightly vs stable installs, aligning future work around install provenance.

Changes:

  • Add --channel stable|nightly support to scripts/install.sh and implement nightly version resolution via GitHub releases.
  • Update version-check update instructions to use nightly-aware commands (e.g., brew upgrade --cask entire@nightly, and curl installer with --channel nightly fallback).
  • Add a planning doc for installer-owned provenance and auto-update.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
scripts/install.sh Adds channel selection and nightly version fetching for the installer.
docs/install-provenance-plan.md Documents the intended provenance + auto-update approach for follow-up work.
cmd/entire/cli/versioncheck/versioncheck.go Makes update instructions channel-aware and adds Scoop/Homebrew cask handling.
cmd/entire/cli/versioncheck/versioncheck_test.go Updates tests for the new update-command behavior and new channels/managers.

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Nightly grep failure causes silent script exit
    • Added || true to the nightly tag extraction pipeline so grep no-match no longer aborts under set -euo pipefail and the intended empty-version error path runs.

Create PR

Or push these changes by commenting:

@cursor push fab33146c7
Preview (fab33146c7)
diff --git a/scripts/install.sh b/scripts/install.sh
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -107,7 +107,7 @@
 get_latest_nightly_version() {
     local url="https://api.github.com/repos/${GITHUB_REPO}/releases?per_page=20"
     local version
-    version=$(fetch_github_json "$url" | grep '"tag_name"' | grep 'nightly' | head -n 1 | sed -E 's/.*"tag_name": *"v?([^"]+)".*/\1/')
+    version=$(fetch_github_json "$url" | grep '"tag_name"' | grep 'nightly' | head -n 1 | sed -E 's/.*"tag_name": *"v?([^"]+)".*/\1/' || true)
 
     if [[ -z "$version" ]]; then
         error "Failed to fetch latest nightly version from GitHub. Please check your internet connection."

This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit d94e648. Configure here.

Entire-Checkpoint: f1f49b36f4dd
Entire-Checkpoint: 4379bf1f78b3
Entire-Checkpoint: 4fe9865d5a13
Entire-Checkpoint: 427b7cc4ab3a
@Soph Soph enabled auto-merge April 10, 2026 12:12
@Soph Soph merged commit 87f84e4 into main Apr 10, 2026
9 checks passed
@Soph Soph deleted the add-nightly-installation-into-install-bash-script branch April 10, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants