Follow these steps to make a contribution to any of our open source repositories:
-
Ensure that you have completed our CLA Agreement for individuals or corporations.
-
Set your name and email (these should match the information on your submitted CLA)
git config --global user.name "Firstname Lastname" git config --global user.email "your_email@example.com"
Follow these steps to make a contribution to any of our open source repositories:
-
Fork the repository
-
Update submodules (
git submodule update --init
) -
Create a feature branch (
git checkout -b better_bosh
)- Run the tests to ensure that your local environment is
working
bundle && bundle exec rake
(this may take a while)
- Run the tests to ensure that your local environment is
working
-
Make changes on the branch:
- Adding a feature
- Add specs for the new feature
- Make the specs pass
- Fixing a bug
- Add a spec/specs which exercises the bug
- Fix the bug, making the specs pass
- Refactoring existing functionality
- Change the implementation
- Ensure that specs still pass
- If you find yourself changing specs after a refactor, consider refactoring the specs first
- Adding a feature
-
Push to your fork (
git push origin better_bosh
) and submit a pull request selectingdevelop
as the target branch
We favor pull requests with very small, single commits with a single purpose.
Your pull request is much more likely to be accepted if:
-
Your pull request includes tests
-
Your pull request is small and focused with a clear message that conveys the intent of your change.
As part of the spec:unit
task we run RuboCop,
which generally enforces the Ruby Style Guide.
We have a number of exceptions (see the various .rubocop.yml
files),
and our style is still evolving, however rake rubocop
is run by Travis
so making these pass will improve the chances that the pull request will
be accepted.