Skip to content
Heroku's Ruby Buildpack
Ruby Shell
Branch: master
Clone or download

Latest commit

schneems Merge pull request #1008 from heroku/evanphx-patch-2
[changelog skip] Allow Nolockfile to get to compile phase
Latest commit 6ce99e0 Jun 3, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci [changelog skip] Fix CNB tests Jun 3, 2020
.github [changelog skip] Fix check changelog action May 8, 2020
bin [changelog skip] export STACK so it can be used in scripts Mar 20, 2020
changelogs Update Node and Yarn default versions Apr 23, 2020
config try using S3 instead of Cloudfront Oct 15, 2013
lib Allow Nolockfile to get to compile phase Jun 2, 2020
log Safer tests by not mutating current process Sep 11, 2019
spec Fix regression caused in #980 May 12, 2020
support/s3 Use HTTPS for interactions with GitHub and S3 Jul 18, 2017
tmp Add ability to log from the Ruby Buildpack Mar 16, 2018
vendor README WIP Mar 3, 2020
.gitignore Safer tests by not mutating current process Sep 11, 2019
CHANGELOG.md Update Node and Yarn default versions Apr 23, 2020
Gemfile Remove unused rake buildpack:* commands May 17, 2020
Gemfile.lock Remove unused rake buildpack:* commands May 17, 2020
LICENSE add MIT license Mar 21, 2012
README.md [close #981][changelog skip] Clean up README May 8, 2020
Rakefile Remove unused rake buildpack:* commands May 17, 2020
app.json Stop using heroku-buildpack-apt to install git May 17, 2020
buildpack.toml Vendor Heroku-20 binaries in the published buildpack Apr 21, 2020
hatchet.json I'm not 100% sure why this failure mode happens, but it looks like fo… Mar 11, 2020
hatchet.lock Merge branch 'master' into cnb Mar 13, 2020

README.md

Heroku Buildpack for Ruby

ruby

This is a Heroku Buildpack for Ruby, Rack, and Rails apps. It uses Bundler for dependency management.

This buildpack requires 64-bit Linux.

Usage

Ruby

Example Usage:

$ ls
Gemfile Gemfile.lock

$ heroku create --buildpack heroku/ruby

$ git push heroku master
...
-----> Heroku receiving push
-----> Fetching custom buildpack
-----> Ruby app detected
-----> Installing dependencies using Bundler version 1.1.rc
       Running: bundle install --without development:test --path vendor/bundle --deployment
       Fetching gem metadata from http://rubygems.org/..
       Installing rack (1.3.5)
       Using bundler (1.1.rc)
       Your bundle is complete! It was installed into ./vendor/bundle
       Cleaning up the bundler cache.
-----> Discovering process types
       Procfile declares types -> (none)
       Default types for Ruby  -> console, rake

The buildpack will detect your app as Ruby if it has a Gemfile and Gemfile.lock files in the root directory. It will then proceed to run bundle install after setting up the appropriate environment for ruby and Bundler.

Documentation

For more information about using Ruby and buildpacks on Heroku, see these Dev Center articles:

Hacking

To use this buildpack, fork it on Github. Push up changes to your fork, then create a test app with --buildpack <your-github-url> and push to it.

Testing

The tests on this buildpack are written in Rspec to allow the use of focused: true. Parallelization of testing is provided by https://github.com/grosser/parallel_tests this lib spins up an arbitrary number of processes and running a different test file in each process, it does not parallelize tests within a test file. To run the tests: clone the repo, then bundle install then clone the test fixtures by running:

$ bundle exec hatchet install
$ bundle exec rake spec
You can’t perform that action at this time.