We appreciate that. But before you do, please learn our basic rules:
- This is not a support forum. If you have a question, please go to The Cukes Google Group.
- Do you have an idea for a new feature? Then don't expect it to be implemented unless you or someone else sends a pull request. You might be better to start a discussion on the google group.
- Reporting a bug? Please tell us:
- which version of Cucumber you're using
- which version of Ruby you're using.
- How to reproduce it. Bugs with a failing test in a pull request get fixed much quicker. Some bugs may never be fixed.
- Want to paste some code or output? Put ``` on a line above and below your code/output. See GFM's Fenced Code Blocks for details.
- We love pull requests. But if you don't have a test to go with it we probably won't merge it.
The rest of this document is a guide for those maintaining Cucumber, and others who would like to submit patches.
You can chat with the core team on https://gitter.im/cucumber/contributors. We try to have office hours on Fridays.
A Gemfile.local
-file can be used to have your own gems installed to support
your normal development workflow.
Example:
gem 'pry'
gem 'pry-byebug'
gem 'byebug'
- Fork the project. Make a branch for your change.
- Make your feature addition or bug fix.
- Make sure your patch is well covered by tests. We don't accept changes to Cucumber that aren't tested.
- Please do not change the Rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself so we can ignore when we merge your change)
- Send us a pull request.
gem install bundler
bundle install
bundle exec rake
To get code coverage results, run `bundle exec rake cov`
If you are new to the project or to OSS, check the label Easy. Also, you can help us to correct style violations reported here: .rubocop_todo.yaml.
- Bump the version number in
lib/cucumber/version
. - Make sure
CHANGELOG.md
is updated with the upcoming version number, and has entries for all fixes.
Now release it
bundle update
bundle exec rake
git commit -m "Release X.Y.Z"
rake release
To become a release manager, create a pull request adding your name to the list below, and include your Rubygems email address in the ticket. One of the existing Release managers will then add you.
Current release managers:
To grant release karma, issue the following commands:
gem owner cucumber --add <NEW OWNER RUBYGEMS EMAIL>
gem owner cucumber-core --add <NEW OWNER RUBYGEMS EMAIL>