heroku / heroku/heroku-buildpack-ruby

Heroku doesn't support differentiated Gemfiles

Open
#1,348 4 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.