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.

Required Software

  • Ruby. In general, Ruby Ruby 1.8.7 at a reasonably current patch level is fine for working on Rails. However, if you want to help 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.3.5. 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 2.3.x issues to look at, you should install both Rails 3.0 (the master branch) and Rails 2.3 (the 2-3-stable branch) on your test machine. Here’s how:
git clone git://github.com/rails/rails.git
cd rails
git branch --track 2-3-stable origin/2-3-stable
  • Mocha. The Rails tests depend on mocha for mocks, so gem install mocha. Make sure you have mocha 0.9.7 or higher, or you'll see a whole bunch of mystery errors due to a change in the way that Rails and mocha interact.
  • Bundler. The Rails master branch now depends on Bundler. You'll need to do this to pack up some of the gems that tests want to see:
[sudo] gem install bundler
gem bundle
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. Bundler will create a /vendor folder under the root rails folder. To re-do the bundling, just delete this folder and run gem bundle again.
  • Rack-Test gem: gem install rack-test. This is bundled for Rails 3, but you'll need it installed separately for Rails 2 tests.
  • MySQL. Having a working MySQL install is the bare minimum to run the tests on Rails.
  • PostgreSQL and sqlite. 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'll need an account with Lighthouse to comment on Rails issues or to upload tests or patches. Sign up here
  • You don't need a Github account unless you start doing such extensive surgery that you want to have your own fork of the Rails repo. (Note that the Rails team only accepts patches, not pull requests)

For Windows Users

Windows users can find an installation guide over at the devChix wiki. (You can skip steps 11 and 12 for setting up Heroku.)

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 .

Optional Components

  • If you'd like to help the JRuby-on-Rails story, you'll need to have JRuby installed. Note that the Relevance switcher mentioned above can do this for you.
  • If you're brave enough to test ActiveRecord with JDBC connections and databases, this ticket will point you in the right direction.
  • If you do a great deal of work with Lighthouse, you may find the OS X application Lighthouse Keeper useful.

Back to BugMash

Also available in: HTML TXT