# Howto - Fix a Failing Spec

Make sure you have read:

*   [Getting Started](/getting_started.html)
*   [The Rubinius Specs](/rubinius_specs.html)

1.  Run `rake spec` to ensure that all CI specs are passing
1.  Run `bin/mspec spec/some/spec_file.rb` to confirm the spec fails
1.  Edit a file somewhere in Rubinius (probably under the kernel directory)
1.  Run `rake` to build your change
1.  Run `bin/mspec spec/some/spec_file.rb` to see if your spec passes
1.  Repeat until your spec passes
1.  Run `rake spec:full` OR `bin/mspec ci -B full.mspec` to ensure there are
    no regressions
1.  Change directory to Rubinius root if not already there
1.  Run `git status, git add, git commit`, etc.
1.  Run `git format-patch`
1.  Upload the patch in a ticket on the [Rubinius
    lighthouse](http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets)
    account

When your patch is accepted by the Rubinius project, you'll get a commit bit
for the Rubinius repository. You'll also get a bit for the RubySpec repository
(as long as you have a Github account and let us know your Github username).
