Skip to content

feat: apt repo and install script installation methods#232

Merged
Sam Gammon (sgammon) merged 1 commit intomainfrom
feat/apt-and-script-installers
Mar 27, 2026
Merged

feat: apt repo and install script installation methods#232
Sam Gammon (sgammon) merged 1 commit intomainfrom
feat/apt-and-script-installers

Conversation

@emberian
Copy link
Copy Markdown
Contributor

@emberian emberian commented Mar 27, 2026

Summary

  • Debian/Ubuntu: Installs Elide via the official apt repository (GPG key + sources list + apt-get install), avoiding tarball downloads on runners that support it
  • macOS / non-Debian Linux: Installs via the elide.sh install script, downloaded to a temp file and executed with bash
  • Windows / custom_url: Unchanged -- continues using the existing tarball/zip download path
  • CI test-action job now runs on an ubuntu-latest, macos-latest, windows-latest matrix

New files

  • src/platform.ts -- detects Debian-like systems via /etc/debian_version
  • src/install-apt.ts -- apt repo installer with set -o pipefail for safe GPG key download
  • src/install-script.ts -- install script path with ~/.elide/bin PATH fallback
  • __tests__/platform.test.ts, __tests__/install-apt.test.ts, __tests__/install-script.test.ts -- 8 new unit tests

Test plan

  • Verify pnpm test passes for new test suites (platform, install-apt, install-script)
  • Verify CI matrix runs on all three OS targets
  • Verify custom_url input still routes to tarball download (not apt/script)
  • Verify apt installer maps aarch64 -> arm64 for Debian arch naming

🤖 Generated with Claude Code

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 27, 2026

Codecov Report

❌ Patch coverage is 81.63265% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.86%. Comparing base (d91d585) to head (7b7514a).

Files with missing lines Patch % Lines
src/main.ts 46.66% 4 Missing and 4 partials ⚠️
src/releases.ts 60.00% 8 Missing ⚠️
src/command.ts 0.00% 1 Missing ⚠️
src/install-script.ts 96.29% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #232       +/-   ##
===========================================
- Coverage   91.06%   76.86%   -14.20%     
===========================================
  Files           7       10        +3     
  Lines         179      268       +89     
  Branches       21       38       +17     
===========================================
+ Hits          163      206       +43     
- Misses         11       54       +43     
- Partials        5        8        +3     
Files with missing lines Coverage Δ
src/install-apt.ts 100.00% <100.00%> (ø)
src/platform.ts 100.00% <100.00%> (ø)
src/command.ts 55.55% <0.00%> (-44.45%) ⬇️
src/install-script.ts 96.29% <96.29%> (ø)
src/main.ts 78.46% <46.66%> (-17.77%) ⬇️
src/releases.ts 50.63% <60.00%> (-27.50%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Add platform-specific installation paths for Elide:

- Debian/Ubuntu: install via the official apt repository (GPG key +
  source list), with version pinning support
- macOS / non-Debian Linux: install via the dl.elide.dev install script
- Windows: keep existing zip/tarball download from dist.elide.zip

Also fixes several pre-existing issues:
- Update download base URL to modern dist.elide.zip scheme
- Strip channel prefix from version tags in download URLs
- Account for bin/ subdirectory in release archives
- Replace unsupported `elide run -c` prewarm with `elide info`
- Add --batch --yes to gpg for non-interactive CI use

Includes unit tests for all new modules (platform detection, apt
installer, script installer, download URL construction) and expands
the CI matrix to test on ubuntu, macos, and windows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@emberian emberian force-pushed the feat/apt-and-script-installers branch from 2dd23c4 to 7b7514a Compare March 27, 2026 06:50
@emberian emberian enabled auto-merge (squash) March 27, 2026 06:51
@sgammon Sam Gammon (sgammon) merged commit 8f05fe7 into main Mar 27, 2026
6 of 8 checks passed
@sgammon Sam Gammon (sgammon) deleted the feat/apt-and-script-installers branch March 27, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants