Skip to content

Commit d083389

Browse files
committed
Create DEVELOP.md
1 parent 3936b45 commit d083389

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

DEVELOP.md

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
Contributing
2+
------------
3+
4+
normal
5+
6+
1. [Fork](http://help.github.com/forking/) puppet-TEMPLATE
7+
2. Create a topic branch against the develop branch `git checkout develop; git checkout -b my_branch`
8+
3. Push to your branch `git push origin my_branch`
9+
4. Create a [Pull Request](http://help.github.com/pull-requests/) from your branch against the develop branch
10+
11+
[git-flow](https://github.com/nvie/gitflow)
12+
13+
1. [Fork](http://help.github.com/forking/) puppet-TEMPLATE
14+
2. Create a feature `git flow feature start my-feature`
15+
3. Publish your featue `git flow feature publish my-feature`
16+
4. Create a [Pull Request](http://help.github.com/pull-requests/) from your branch against the develop branch
17+
18+
Testing
19+
-------
20+
21+
Tests are written with [rspec-puppet](http://rspec-puppet.com/). CI is covered by [Travis CI](http://about.travis-ci.org/) and the current status is visible [here](http://travis-ci.org/echocat/puppet-TEMPLATE).
22+
23+
To run all tests:
24+
25+
bundle exec rake validate && bundle exec rake lint && bundle exec rake spec SPEC_OPTS='--color --format documentation'
26+
27+
Branching
28+
---------
29+
30+
This repository is organized and maintained with the help of [gitflow](https://github.com/nvie/gitflow). Developers are encouraged to use it when working with this repository.
31+
32+
We use the following naming convention for branches:
33+
34+
* develop (during development)
35+
* master (will be or has been released)
36+
* feature/<name> (feature branches)
37+
* release/<name> (release branches)
38+
* hotfix/<name> (hotfix branches)
39+
* (empty version prefix)
40+
41+
During development, you should work in feature branches instead of committing to master directly. Tell gitflow that you want to start working on a feature and it will do the work for you (like creating a branch prefixed with feature/):
42+
43+
git flow feature start <FEATURE_NAME>
44+
45+
The work in a feature branch should be kept close to the original problem. Tell gitflow that a feature is finished and it will merge it into master and push it to the upstream repository:
46+
47+
git flow feature finish <FEATURE_NAME>
48+
49+
Even before a feature is finished, you might want to make your branch available to other developers. You can do that by publishing it, which will push it to the upstream repository:
50+
51+
git flow feature publish <FEATURE_NAME>
52+
53+
To track a feature that is located in the upstream repository and not yet present locally, invoke the following command:
54+
55+
git flow feature track <FEATURE_NAME>
56+
57+
Changes that should go into production should come from the up-to-date master branch. Enter the "release to production" phase by running:
58+
59+
git flow release start <VERSION_NUMBER>
60+
61+
In this phase, only meta information should be touched, like bumping the version and update the history. Finish the release phase with:
62+
63+
git flow release finish <VERSION_NUMBER>
64+
65+
Versioning
66+
----------
67+
68+
This project is versioned with the help of the [Semantic Versioning Specification](http://semver.org/) using 0.0.1 as the initial version. Please make sure you have read the guidelines before increasing a version number either for a release or a hotfix.

0 commit comments

Comments
 (0)