2014-02-05 15:51:24 -08:00
|
|
|
# How to Contribute
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
CoreOS projects are [Apache 2.0 licensed](LICENSE) and accept contributions via
|
|
|
|
GitHub pull requests. This document outlines some of the conventions on
|
|
|
|
development workflow, commit message formatting, contact points and other
|
|
|
|
resources to make it easier to get your contribution accepted.
|
2014-01-19 12:25:11 -08:00
|
|
|
|
|
|
|
# Certificate of Origin
|
|
|
|
|
|
|
|
By contributing to this project you agree to the Developer Certificate of
|
|
|
|
Origin (DCO). This document was created by the Linux Kernel community and is a
|
|
|
|
simple statement that you, as a contributor, have the legal right to make the
|
2014-04-04 10:08:25 -07:00
|
|
|
contribution. See the [DCO](DCO) file for details.
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-02-05 15:51:24 -08:00
|
|
|
# Email and Chat
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
The project currently uses the general CoreOS email list and IRC channel:
|
2014-01-19 12:25:11 -08:00
|
|
|
- Email: [coreos-dev](https://groups.google.com/forum/#!forum/coreos-dev)
|
|
|
|
- IRC: #[coreos](irc://irc.freenode.org:6667/#coreos) IRC channel on freenode.org
|
|
|
|
|
|
|
|
## Getting Started
|
|
|
|
|
|
|
|
- Fork the repository on GitHub
|
2014-04-04 10:08:25 -07:00
|
|
|
- Read the [README](README.md) for build and test instructions
|
|
|
|
- Play with the project, submit bugs, submit patches!
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-02-05 15:51:24 -08:00
|
|
|
## Contribution Flow
|
2014-01-19 12:25:11 -08:00
|
|
|
|
|
|
|
This is a rough outline of what a contributor's workflow looks like:
|
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
- Create a topic branch from where you want to base your work (usually master).
|
2014-01-19 12:25:11 -08:00
|
|
|
- Make commits of logical units.
|
2014-04-04 10:08:25 -07:00
|
|
|
- Make sure your commit messages are in the proper format (see below).
|
2014-01-19 12:25:11 -08:00
|
|
|
- Push your changes to a topic branch in your fork of the repository.
|
2014-04-04 10:08:25 -07:00
|
|
|
- Make sure the tests pass, and add any new tests as appropriate.
|
|
|
|
- Submit a pull request to the original repository.
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
Thanks for your contributions!
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-02-05 15:51:24 -08:00
|
|
|
### Format of the Commit Message
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
We follow a rough convention for commit messages borrowed from AngularJS. This
|
2014-01-19 12:25:11 -08:00
|
|
|
is an example of a commit:
|
|
|
|
|
|
|
|
```
|
|
|
|
feat(scripts/test-cluster): add a cluster test command
|
|
|
|
|
|
|
|
this uses tmux to setup a test cluster that you can easily kill and
|
|
|
|
start for debugging.
|
|
|
|
```
|
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
The format can be described more formally as follows:
|
2014-01-19 12:25:11 -08:00
|
|
|
|
|
|
|
```
|
|
|
|
<type>(<scope>): <subject>
|
|
|
|
<BLANK LINE>
|
|
|
|
<body>
|
|
|
|
<BLANK LINE>
|
|
|
|
<footer>
|
|
|
|
```
|
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
The first line is the subject and should be no longer than 70 characters, the
|
|
|
|
second line is always blank, and other lines should be wrapped at 80 characters.
|
|
|
|
This allows the message to be easier to read on GitHub as well as in various
|
2014-01-19 12:25:11 -08:00
|
|
|
git tools.
|
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
#### Subject Line
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
The subject line contains a succinct description of the change.
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
#### Allowed `<type>`s
|
|
|
|
- *feat* (feature)
|
|
|
|
- *fix* (bug fix)
|
|
|
|
- *docs* (documentation)
|
|
|
|
- *style* (formatting, missing semi colons, …)
|
|
|
|
- *refactor*
|
|
|
|
- *test* (when adding missing tests)
|
|
|
|
- *chore* (maintain)
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
#### Allowed `<scope>`s
|
2014-01-19 12:25:11 -08:00
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
Scopes can anything specifying the place of the commit change in the code base -
|
|
|
|
for example, "api", "store", etc.
|
2014-01-19 12:25:11 -08:00
|
|
|
|
|
|
|
|
2014-04-04 10:08:25 -07:00
|
|
|
For more details on the commit format, see the [AngularJS commit style
|
2014-01-19 12:25:11 -08:00
|
|
|
guide](https://docs.google.com/a/coreos.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#).
|