- Create a Jira account
- Make sure you have a GitHub account
- Submit a ticket for your issue, assuming one does not already exist.
- Clearly describe the issue including steps to reproduce when it is a bug.
- File a ticket in the BKR project
- Fork the Beaker repository on GitHub
- Create a topic branch from your fork of puppetlabs/beaker.
- Please title the branch after the beaker ticket you intend to address, ie
BKR-1234
.
- Please title the branch after the beaker ticket you intend to address, ie
- Make commits of logical units.
- Check for unnecessary whitespace with
git diff --check
before committing. - Make sure your commit messages are in the proper format.
(BKR-1234) Make the example in CONTRIBUTING imperative and concrete
Without this patch applied the example commit message in the CONTRIBUTING
document is not a concrete example. This is a problem because the
contributor is left to imagine what the commit message should look like
based on a description rather than an example. This patch fixes the
problem by making the example concrete and imperative.
The first line is a real life imperative statement with a ticket number
from our issue tracker. The body describes the behavior without the patch,
why this is a problem, and how the patch fixes the problem when applied.
- During the time that you are working on your patch the master Beaker branch may have changed - you'll want to rebase on top of Beaker's master branch before you submit your PR. A successful rebase ensures that your PR will cleanly merge into Beaker.
- Submitted PR's will be tested in a series of spec and acceptance level tests - the results of these tests will be evaluated by a Beaker team member, as test results are currently not accessible by the public. Testing failures that require code changes will be communicated in the PR discussion.
- Make sure you have added RSpec tests that exercise your new code. These test should be located in the appropriate
beaker/spec/
subdirectory. The addition of new methods/classes or the addition of code paths to existing methods/classes requires additional RSpec coverage.- Beaker uses RSpec 3.1.0+, and you should NOT USE deprecated
should
/stub
methods - USEexpect
/allow
. See a nice blog post from 2013 on RSpec's new message expectation syntax. - Run the tests to assure nothing else was accidentally broken, using
rake test
- Bonus: if possible ensure that
rake test
runs without failures for additional Rubies (versions 1.9.3 and above).
- Bonus: if possible ensure that
- Beaker uses RSpec 3.1.0+, and you should NOT USE deprecated
- Add an entry in the CHANGELOG.md. Refer to the CHANGELOG itself for message style/form details.
- Make sure that you have added documentation using Yard as necessary for any new code introduced.
- More user friendly documentation will be required for PRs unless exempted. Documentation lives in the docs/ folder.
For changes of a trivial nature, it is not always necessary to create a new ticket in Jira. In this case, it is appropriate to start the first line of a commit with (MAINT)
instead of a ticket/issue number.
(MAINT) Fix whitespace
- remove additional spaces that appear at EOL
To prepare for a new gem release of Beaker the version.rb
file is updated with the upcoming gem version number. This is submitted with (GEM)
instead of a ticket/issue number.
(GEM) Update version for Beaker 1.16.1
To prepare for a new gem release of Beaker (after the version has been bumped) the HISTORY.md
file is updated with the latest GitHub log. This is submitted with (HISTORY)
instead of a ticket/issue number.
(HISTORY) Update history for release of Beaker 1.16.1
- Push your changes to a topic branch in your fork of the repository.
- Submit a pull request to Beaker
- Update your ticket
- Update your Jira ticket to mark that you have submitted code and are ready for it to be considered for merge (Status: Ready for Merge).
- Include a link to the pull request in the ticket.
- Update your Jira ticket to mark that you have submitted code and are ready for it to be considered for merge (Status: Ready for Merge).
- PRs are reviewed as time permits.
- Puppet community guidelines
- Bug tracker (Jira)
- BKR Jira Project
- General GitHub documentation
- GitHub pull request documentation
- Questions? Comments? Contact the Beaker team at the #puppet-dev IRC channel on freenode.org
- The keyword
beaker
is monitored and we'll get back to you as quick as we can.
- The keyword