This cookbook uses a variety of testing components:
- Unit tests: ChefSpec
- Integration tests: Test Kitchen
- Chef Style lints: Foodcritic
- Ruby Style lints: Rubocop
To develop on this cookbook, you must have a sane Ruby 1.9+ environment. Given the nature of this installation process (and it's variance across multiple operating systems), we will leave this installation process to the user.
You must also have bundler
installed:
$ gem install bundler
You must also have Vagrant and VirtualBox installed:
Once installed, you must install the vagrant-berkshelf
plugin:
$ vagrant plugin install vagrant-berkshelf
- Clone the git repository from GitHub:
$ git clone [email protected]:chef-cookbooks/COOKBOOK.git
- Install the dependencies using bundler:
$ bundle install
- Create a branch for your changes:
$ git checkout -b my_bug_fix
- Make any changes
- Write tests to support those changes.
- Run the tests:
bundle exec rspec
bundle exec foodcritic .
bundle exec rubocop
bundle exec kitchen test
- Assuming the tests pass, open a Pull Request on GitHub
- Open a JIRA ticket for this component, linking the JIRA ticket to the Pull Request and visa versa.
- Mark the JIRA ticket as "Fix Provided"
For more information, see Chef's Contribution Guidelines.