This is a Heroku Buildpack for Ruby, Rack, and Rails apps. It uses Bundler for dependency management.
This buildpack requires 64-bit Linux.
Example Usage:
$ ls
Gemfile Gemfile.lock
$ heroku create --buildpack heroku/ruby
$ git push heroku main
...
-----> 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.
For more information about using Ruby and buildpacks on Heroku, see these Dev Center articles:
- Heroku Ruby Support
- Getting Started with Ruby on Heroku
- Getting Started with Rails 7 on Heroku
- Buildpacks
- Buildpack API
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.
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