distribution/CONTRIBUTING.md

101 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

2014-10-21 20:33:28 +00:00
# Contributing to the registry
## Are you having issues?
Please first try any of these support forums before opening an issue:
* irc #docker on freenode (archives: [https://botbot.me/freenode/docker/])
* https://forums.docker.com/
* if your problem is with the "hub" (the website and other user-facing components), or about automated builds, then please direct your issues to https://support.docker.com
## So, you found a bug?
First check if your problem was already reported in the issue tracker.
2014-10-21 20:33:28 +00:00
If it's already there, please refrain from adding "same here" comments - these don't add any value and are only adding useless noise. **Said comments will quite often be deleted at sight**. On the other hand, if you have any technical, relevant information to add, by all means do!
2014-10-21 20:33:28 +00:00
Your issue is not there? Then please, create a ticket.
If possible the following guidelines should be followed:
* try to come up with a minimal, simple to reproduce test-case
2014-10-21 20:33:28 +00:00
* try to add a title that describe succinctly the issue
2014-10-21 20:33:28 +00:00
* if you are running your own registry, please provide:
* registry version
* registry launch command used
* registry configuration
* registry logs
* in all cases:
* `docker version` and `docker info`
2014-10-21 20:33:28 +00:00
* run your docker daemon in debug mode (-D), and provide docker daemon logs
2014-10-21 20:33:28 +00:00
## You have a patch for a known bug, or a small correction?
Basic github workflow (fork, patch, make sure the tests pass, PR).
... and some simple rules to ensure quick merge:
* clearly point to the issue(s) you want to fix
2014-10-21 20:33:28 +00:00
* when possible, prefer multiple (smaller) PRs addressing individual issues over a big one trying to address multiple issues at once
2014-10-21 20:33:28 +00:00
* if you need to amend your PR following comments, squash instead of adding more commits
## You want some shiny new feature to be added?
Fork the project.
2014-10-21 20:33:28 +00:00
Create a new proposal in the folder `open-design/specs`, named `DEP_MY_AWESOME_PROPOSAL.md`, using `open-design/specs/TEMPLATE.md` as a starting point.
2014-10-21 20:33:28 +00:00
Then immediately submit this new file as a pull-request, in order to get early feedback.
2014-10-21 20:33:28 +00:00
Eventually, you will have to update your proposal to accommodate the feedback you received.
2014-10-21 20:33:28 +00:00
2014-10-21 20:33:28 +00:00
Usually, it's not advisable to start working too much on the implementation itself before the proposal receives sufficient feedback, since it can significantly altered (or rejected).
2014-10-21 20:33:28 +00:00
Your implementation should then be submitted as a separate PR, that will be reviewed as well.
## Issue and PR labels
To keep track of the state of issues and PRs, we've adopted a set of simple labels. The following are currently in use:
<dl>
<dt><a href="https://github.com/docker/distribution/issues?q=is%3Aopen+-label%3AReady+-label%3A%22In+Progress%22+-label%3A%22Blocked%22">Backlog</a></dt>
<dd>Issues marked with this label are considered not yet ready for implementation. Either they are untriaged or require futher detail to proceed.</dd>
<dt><a href="https://github.com/docker/distribution/labels/Blocked">Blocked</a></dt>
<dd>If an issue requires further clarification or is blocked on an unresolved dependency, this label should be used.</dd>
2015-03-18 01:56:56 +00:00
<dt><a href="https://github.com/docker/distribution/labels/Sprint">Sprint</a></dt>
<dd>Issues marked with this label are being worked in the current sprint. All required information should be available and design details have been worked out.</dd>
<dt><a href="https://github.com/docker/distribution/labels/In%20Progress">In Progress</a></dt>
<dd>The issue or PR is being actively worked on by the assignee.</dd>
<dt><a href="https://github.com/docker/distribution/issues?q=is%3Aclosed">Done</a></dt>
<dd>Issues marked with this label are complete. This can be considered a psuedo-label, in that if it is closed, it is considered "Done".</dd>
</dl>
These integrate with waffle.io to show the current status of the project. The project board is available at the following url:
https://waffle.io/docker/distribution
If an issue or PR is not labeled correctly or you believe it is not in the right state, please contact a maintainer to fix the problem.
## Milestones
Issues and PRs should be assigned to relevant milestones. If an issue or PR is assigned a milestone, it should be available by that date. Depending on level of effort, items may be shuffled in or out of milestones. Issues or PRs that don't have a milestone are considered unscheduled. Typically, "In Progress" issues should have a milestone.
## PR Titles
PR titles should be lowercased, except for proper noun references (such a
method name or type).
PR titles should be prefixed with affected directories, comma separated. For
example, if a specification is modified, the prefix would be "doc/spec". If
the modifications are only in the root, do not include it. If multiple
directories are modified, include each, separated by a comma and space.
Here are some examples:
- doc/spec: move API specification into correct position
2015-03-18 01:56:56 +00:00
- context, registry, auth, auth/token, cmd/registry: context aware logging