Switch branches/tags
0.8 298-printing-from-hooks-to-html-report 574-tag-filtering-with-limits 729-fix-data-table-api-for-step-defs 1021-fixspacing4 1021-fixspacing5 AddAdditionalDocumentationLinksToReadme activate-steps-in-front-end add-21-support-to-13 add-formatter-summary add-turnip-style-step-definitions ambiguous-result-type aruba-in-process ast-cleanup ast-wraps-gherkin-nodes asynchrony-junit_scenario_outline_fix asynchrony-master baby-steps-execution-refactoring bool bug-96 calebTomlinson-issue#405 clean-up-formatter-config cuke-core cuke danascheider-resolve-issue-882 deep_clone_step_args document-events dots-formatter dry-run-support event-stream-2 event-stream-3 event-stream exceptions-in-hooks-again exceptions-in-hooks expose-names failing-background-steps-should-be-reported feature/issue-86-rename-step-name-to-step-text feature_loaders feature/local-gemfile-for-contributors feature/set-std-outerr-in-runner fix-73 fix-937 fix-one-junit-formatter-scenario fix-printing-messages fix-rubocop-in-legacy-adapter fix-travis formatters-hide-error gherkin goal-for-formatter-api html-formatter-breaks-background-for-scenario-outline inline-cucumber-instance-exec introduce-simple-expressions ironruby july2019-rubocop-update language-cli-option legacy-formatter-rewrite-2 markdown master multiple-after-hooks-one-failing ncdc-master no-automatic-detection-of-assertion-library old-core parameter-type-transform-runs-in-world pass-docstring-as-string pending_steps publish-to-cucumber-pro rbxbx-rows_reflects_map_column refactoring_options release-2.0 remove-nested-steps-to-plugin remove-prog-lang-abstraction remove-transform remove-wire-protocol-to-plugin retry-crash revert-992-finish-off-retry ruby-2-1-add-explicit-support ruby-2-1-avoid-ruby-bug-9285 ruby-2-1-filter-new-trace-paths ruby-2-1-support ruby-2.2 rubymine simplify-i18n-output simplify-rb-language spike-formatter-adapters spike_call_from_code test-case-count-event turn-ast-inside-out untangle-programming-languages use-the-new-summary-report v1.2.5 v1.3.x-bugfix v2.x-bugfix v2.99 walk-units-not-feature-elements wapcaplet-348-shared-examples2 windows_profile_loading
Nothing to show
Find file Copy path
73 lines (50 sloc) 2.93 KB

About to create a new Github Issue?

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.

Contributing to Cucumber

The rest of this document is a guide for those maintaining Cucumber, and others who would like to submit patches.

Talking with other devs

You can chat with the core team on We try to have office hours on Fridays.

Installing your own gems

A Gemfile.local-file can be used to have your own gems installed to support your normal development workflow.


gem 'pry'
gem 'pry-byebug'
gem 'byebug'

Note on Patches/Pull Requests

  • 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.

Running tests

gem install bundler
bundle install
bundle exec rake

To get code coverage results, run `bundle exec rake cov`

First timer? No problem!

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.

Release Process

  • Bump the version number in lib/cucumber/version.
  • Make sure 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"
# Make sure you run gem signin as the user before running the following step. Credentials can be found in 1Password
rake release