Thanks for contributing to Growstuff!
When you create a pull request, please include the following:
- Mention the issue it solves (eg. #123)
- Your code should follow our Coding style guide
- Make sure you have automated tests for your work, where possible.
- Add your name (and that of your pair partner, if any) to CONTRIBUTORS.md.
All pull requests should pass our automatic continuous integration and style checks before being merged. You can run tests locally as follows:
rails spec
to run all Ruby testsrails spec:models
to run Ruby model tests (orrails spec:views
for view tests, etc)rails static
to run all static checks (code style, unfixed Git conflicts, etc)rspec ./spec/path/to/my_spec.rb
to run all Ruby tests in the filemy_spec.rb
rspec ./spec/path/to/my_spec.rb:45
to run the Ruby test starting on line 45 ofmy_spec.rb
. RSpec will output a list of command-lines in this form for all failing tests so you can easily re-run particular ones.rspec --only-failures
to re-run all Ruby tests that failed last time.
Growstuff runs several linters and checkers before a change is merged. These run from overcommit. To automatically run the same linters yourself you can install overcommit too.
./script/install_linters
You can run rake -T
to see a list of available Rake tasks. If you can't get
some tests to pass, please submit a pull request anyway - we'll be happy to
help you debug the failures.
If you would like to discuss an idea before submitting a pull request, please open a GitHub Issue, where our dev team will be happy to help you.