Pre-flight Checklist

The only real requirement for participating in a BugMash is enthusiasm. But there are some things you can do in advance to make it a more productive and rewarding experience.

The following instructions will get your development environment setup to run the Rails tests. You can also check out the Rails Contrib Guide which covers everything.

Required Software

  • Ruby. In general, Ruby 1.9.3 at a reasonably current patch level is fine for working on Rails. If you are working on Rails 3.2 or lower bugs, 1.8.7 will work. If you want check on cross-Ruby-version issues, you'll need to have multiple copies of Ruby and a way to switch between them. We recommend the excellent rvm for this purpose.
  • RubyGems. You need to be on the cutting edge to work with the Rails source - 1.8.10. Run gem --version to check your version and, if necessary, gem update --system to upgrade.
  • Rails. You presumably have some version of Rails installed, but to participate, you'll need the Rails source. And because there are still many Rails 3.x issues to look at, you should install both Rails 4.0 (the master branch) and Rails 3.2 (the 3-2-stable branch) on your test machine. Here’s how:
git clone git://github.com/rails/rails.git
cd rails
git branch --track 3-2-stable origin/3-2-stable
  • Bundler. Rails 3.x and up uses bundler to manage its dependencies. Bundler. You'll need to do this to install Rails dependencies:
# in the rails directory
[sudo] gem install bundler
bundle install --without db

If you see "Could not find a Gemfile to use" then bundler doesn't think it is needed. Check (1) that you're on the master branch, not 2-3-stable and (2) that you're in the root rails folder.

bundle install --without db sets up Rails so it only uses SQLite. If you're working on ActiveRecord bugs, you may need to install other db backends

  • Rack-Test gem: This is bundled for Rails 3, but you'll need it installed separately for Rails 2 tests. gem install rack-test.
  • SQLite. Having a working SQLite install is the bare minimum to run the tests on Rails.
  • PostgreSQL and MySQL. If you're planning to work on Active Record issues, you'll need to run the AR tests across MySQL, PostgreSQL, and sqlite at the very minimum. (Installing PostgreSQL on OS X? | Issues installing Postgres gem on Snow Leopard?)

Accounts

  • You need a Github account to comment on issues and submit pull requests.

For Windows Users

Windows users can find an installation guide over at the RailsBridge Workshop Installfest page. (You can skip steps 11 and 12 for setting up Heroku.)

Optional Components

  • If you'd like to help the JRuby-on-Rails story, you'll need to have JRuby installed. Note that rvm mentioned above can do this for you.
  • If you're brave enough to test ActiveRecord with JDBC connections and databases, this search will point you to all the jdbc issues.

Back to BugMash

Tools from the 2010 bugmash

The Rails-Bugmasher script

Another way to get a Rails development environment set up is to start with a fresh Linux virtual machine and run tsykoduk's Rails-Bugmasher Server Script .