There is a number of pre-requisite programs / framework you shall install to be able to correctly contribute to this Puppet module.
Git Branching Model
The Git branching model for this repository follows the guidelines of gitflow. In particular, the central repository holds two main branches with an infinite lifetime:
production
: the branch holding tags of the successive releases of this tutorialdevel
: the main branch where the sources are in a state with the latest delivered development changes for the next release. This is the default branch you get when you clone the repository, and the one on which developments will take places.
You should therefore install git-flow, and probably also its associated bash completion.
Ruby, RVM and Bundler
The various operations that can be conducted from this repository are piloted
from a Rakefile
and assumes you have a running Ruby installation.
The bootstrapping of your repository is based on RVM, thus ensure this tools are installed on your system -- see installation notes.
The ruby stuff part of this repository corresponds to the following files:
.ruby-{version,gemset}
: RVM configuration, use the name of the project as gemset nameGemfile[.lock]
: used by[bundle](http://bundler.io/)
Repository Setup
Then, to make your local copy of the repository ready to use the git-flow workflow and the local RVM setup, you have to run the following commands once you cloned it for the first time:
$> gem install bundler # assuming it is not yet available
$> bundle install
$> rake -T # To list the available tasks
$> rake setup
You probably wants to activate the bash-completion for rake tasks. I personnaly use the one provided here
Also, some of the tasks are hidden. Run rake -T -A
to list all of them.
RSpec tests
A set of unitary tests are defined to validate the different function of my library using Rspec
You can run these tests by issuing:
$> rake rspec # NOT YET IMPLEMENTED
By conventions, you will find all the currently implemented tests in the spec/
directory, in files having the _spec.rb
suffix. This is expected from the rspec
task of the Rakefile
.
Important Kindly stick to this convention, and feature tests for all definitions/classes/modules you might want to add.