Skip to content

Installation improvements#1

Merged
cosmicbuffalo merged 3 commits intomainfrom
installation-improvements
Feb 9, 2026
Merged

Installation improvements#1
cosmicbuffalo merged 3 commits intomainfrom
installation-improvements

Conversation

@cosmicbuffalo
Copy link
Owner

@cosmicbuffalo cosmicbuffalo commented Feb 9, 2026

Changed the installation flow

Before: The flow was:

  1. Look for a Gemfile (fail if not found)
  2. Run bundle check
  3. If that fails, run bundle install
  4. Then check/install the gem

This meant if bundle wasn't available, the code would try to run it anyway, fail, and cache that failure - blocking all
future attempts.

After: The new flow is:

  1. Check if the executable (e.g., ruby-lsp) already exists → if yes, we're done immediately
  2. Check if bundle is available AND a Gemfile exists → if yes, try bundle check/bundle install
  3. Otherwise, fall back directly to gem install

This means if you don't have bundle in your PATH (like on this machine), it skips the bundle steps entirely and just
tries gem install instead of failing and caching the failure.

Fixed cache key bug

Before: cache keys were generated with relative paths 🤦

  • This meant a bundle install failure in one repo would effectively be cached for all repos

After: cache keys are generated with absolute paths

  • install failures are now correctly cached by project

Added cache TTL

Before: install failure cache lived forever until manually cleared
After: 7 day default TTL for failure cache

Added test suite setup

  • new GitHub actions driven tests and linting

@cosmicbuffalo cosmicbuffalo merged commit 6fba626 into main Feb 9, 2026
4 checks passed
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.

1 participant

Comments