heroku / heroku/heroku-buildpack-ruby
Heroku doesn't support differentiated Gemfiles
- Dominant language
- Ruby
- Stars
- 785
- Forks
- 1.8k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 8
Description
I'm trying to set up dual-booting for my application, using a similar approach to the [`next_rails`](https://github.com/fastruby/next_rails) gem. Put simply, my application has a `Gemfile`/`Gemfile.lock` pair for the "stable" configuration, and a `Gemfile.next`/`Gemfile.next.lock` pair for the configuration being validated.
In my local environment, I can switch between these by setting `BUNDLE_GEMFILE=Gemfile.next` as necessary. In this way, my "next" environment can explore updates to Ruby, Rails, and other dependencies over the long-term without endangering my production app or holding up the development pipeline.
For all appearances, however, this buildpack doesn't play nicely with such a configuration. Bundler version inference, Ruby version inference, and initial gem installation are done (at least in part) based on the `Gemfile.lock` file, regardless of the value of `BUNDLE_GEMFILE`, which causes mismatches during build startup.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the buildpack's Bundler and Ruby version inference and initial gem installation, reproducing the build with BUNDLE_GEMFILE=Gemfile.next and its paired lockfile. Done means those steps consistently use the selected Gemfile rather than the default Gemfile.lock.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100