« Previous - Version 11/12 (diff) - Next » - Current version
Chad Woolley, 09/26/2009 01:07 am


BugMash Flowchart

Not entirely sure what to do with an issue? Here's a step-by-step guide:

If the ticket has no test or patch:

  1. Is it a bug?
    1. Can you verify with latest rails 2-3-stable?
      1. If yes, add a comment with the word "verified" to the ticket explaining how you verified
      2. If no, add a comment with the phrase "not reproducible" to the ticket explaining what you tried to verify
  2. Is it a feature request?
    1. Could you use this in your projects?
      1. If yes, add a +1 with your reasoning to the ticket
      2. If no, add a -1 with your reasoning to the ticket
      3. If you're not sure, hunt up an experienced person in #railsbridge to consult with
    2. Can you provide a test case?
      1. If yes, great, attach it to the ticket and make sure your comment includes the phrase "I've attached a patch."
      2. If no, consult about how to write a test
    3. Can you provide a patch?
      1. If yes, great, attach it to the ticket and make sure your comment includes the phrase "I've attached a patch."
      2. If no, consult about how to write a patch

If the ticket has a test but no patch:

  1. Does the test still fail on latest rails 2-3-stable?
    1. If yes, add a comment (which should include the word "verified") to the ticket explaining that you checked
    2. If no, add a comment to the ticket stating that it's "not reproducible", but think about what might be different for you
  2. Can you provide a patch?
    1. If yes, great, attach it to the ticket and make sure your comment includes the phrase "I've attached a patch." Then ask a committer to look over the ticket and commit the patch so you get credit for it.
    2. If no, consult about how to write a patch

If the ticket has a patch but no test:

  1. Does the patch still apply to latest rails 2-3-stable?
    1. If yes, would you find this useful?
      1. If yes, add a +1 with your reasoning to the ticket
      2. If no, add a -1 with your reasoning to the ticket
  2. Can you supply a test?
    1. If yes, create a diff including the patch and a test. Remember, the test should fail without the patch applied and pass with it applied. Attach to the ticket and make sure your comment includes the phrase "I've attached a test." Then ask a committer to look over the ticket and commit the patch so you get credit for it.
    2. If no, consult about how to write a test

If the ticket has a test and a patch:

  1. Does the patch still apply to latest rails 2-3-stable?
    1. If yes, would you find this useful?
      1. If yes, add a +1 with your reasoning to the ticket
      2. If no, add a -1 with your reasoning to the ticket
      3. If you're not sure, hunt up an experienced person in #railsbridge to consult with
    2. If no, can you fix the patch?
      1. If yes, do so (be sure to fix the test too) and attach to the ticket and make sure your comment includes the phrase "I've attached a patch." Then ask a committer to look over the ticket and commit the patch so you get credit for it.
      2. If no, consult about how to fix

General Tips

  1. If you're "stuck" on a ticket, you can always ask a more experienced Rails developer for help. Alternatively, we have plenty of other tickets to look at. Don't feel like you must finish the one you started with.
  2. The Rails team will make the final call about what gets applied to the core code, but you can help by thinking about your own projects. Would this patch make your life easier? Can you think of a different and better way to solve the same problem? Is it such an obscure issue that it should be in a plugin instead of core code?

Continuous Integration

  1. There is an official Continuous Integration environment set up (still beta though) for the Rails builds at http://ci.rubyonrails.org. It runs the entire suite of Rails tests on multiple machines, against multiple databases and Ruby interpreters. The builds will start automatically on new commits (no need to click "build now"), and should be kept green. If you have questions or problems, or if you suspect a test is failing due to a misconfiguration in the CI environment, contact . Remember that this environment is still beta, so it may be down occasionally.

Scoring Tips

  1. To up or down vote a ticket use "+1" and "-1". Your comment should also include a brief explanation of your vote.
  2. When verifying a patch or bug use "verified" or "not reproducible".
  3. If you've included a patch make sure your comment includes the phrase "I've attached a patch."
  4. Changeset points will be awarded when the patch is committed to the Rails core.
  5. You can check your score at the official scoreboard and if we've botched your score please let us know
  6. Good luck!

Back to BugMash