25691da17a
Adds a post job to update related issues in Github on change merges. If a change contains a "Closes: #X" tag, issue X will be closed on merge. If a change contains a "Relates-To: #X" or "[#X]" tag, a comment will be made on the associated issue to indicate the change was merged and that the issue may be closeable. Closes: #39 Change-Id: Ide9a4d53de7be0e467422938e4e8067fb41ce036
86 lines
4.2 KiB
Markdown
86 lines
4.2 KiB
Markdown
# Contributing Guidelines
|
|
|
|
The airshipctl project accepts contributions via Gerrit reviews. For help
|
|
getting started with Gerrit, see the official [OpenDev
|
|
documentation](https://docs.openstack.org/contributors/common/setup-gerrit.html).
|
|
This document outlines the process to help get your contribution accepted.
|
|
|
|
## Support Channels
|
|
|
|
Whether you are a user or contributor, official support channels are available
|
|
[here](https://wiki.openstack.org/wiki/Airship#Get_in_Touch).
|
|
|
|
You can also request features or report bugs
|
|
[here](https://github.com/airshipit/airshipctl/issues/new/choose).
|
|
|
|
Before opening a new issue or submitting a change, it's helpful to search the
|
|
bug reports above - it's likely that another user has already reported the
|
|
issue you're facing, or it's a known issue that we're already aware of. It is
|
|
also worth asking on the IRC channels.
|
|
|
|
## Story Lifecycle
|
|
|
|
The airshipctl project uses
|
|
[GitHub Issues](https://github.com/airshipit/airshipctl/issues) to track all
|
|
efforts, whether those are contributions to this repository or other
|
|
community projects. The GitHub Issues are a combination of epics, issues,
|
|
bugs, and milestones. We use epics to define large deliverables that need to
|
|
be broken down into more manageable chunks. Milestones act as human readable
|
|
goals for the sprint they are assigned to.
|
|
|
|
### Coding Conventions
|
|
|
|
Airship has a set of [coding conventions](
|
|
https://airship-docs.readthedocs.io/en/latest/conventions.html) that are meant
|
|
to cover all Airship subprojects.
|
|
|
|
However, airshipctl also has its own specific coding conventions and standards
|
|
in the official airshipctl [developer guide](docs/source/developers.md).
|
|
|
|
### Submitting Changes
|
|
|
|
All changes to airshipctl should be submitted to OpenDev's Gerrit. Do not try
|
|
to fork the repository on GitHub to submit changes to the code base.
|
|
|
|
All issues are tracked via
|
|
[GitHub Issues](https://github.com/airshipit/airshipctl/issues) and are tagged
|
|
with a variety of helpful labels. If you are new to the project, we suggest
|
|
starting with issues tagged with
|
|
"[good first issue](https://github.com/airshipit/airshipctl/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)"
|
|
to help get familiar with the codebase and best practices for the project.
|
|
|
|
When you find an issue you would like to work on, please comment on the issue
|
|
that you would like to have it assigned to you. A project admin will then
|
|
make sure that it is not currently being addressed and will assign it to you.
|
|
|
|
As you work on an issue, please be sure to update the labels on it as you work.
|
|
When you start work on an issue, use the "wip" label to indicate that you have
|
|
begun on a change for the issue. When your work is completed, submit a comment
|
|
to the issue with a link to your change on Gerrit and change the "wip" label
|
|
to a "ready for review" label to indicate to the community that you are
|
|
seeking reviews.
|
|
|
|
In your commit message, be sure to include a reference for the issue you
|
|
are addressing from GitHub Issues. There are three ways of doing this:
|
|
|
|
1. Add a statement in your commit message in the format of `Relates-To: #X`.
|
|
This will add a link on issue "#X" to your change.
|
|
2. Add a statement in your commit message in the format of `Closes: #X`.
|
|
This will add a link on issue "#X" to your change and will close the issue when
|
|
your change merges.
|
|
3. Add a bracketed tag at the beginning of your commit message in the format of
|
|
`[#X] <begin commit message>`. This will add a link on issue "#X" to your
|
|
change. This method is considered a fallback in lieu of the other two methods.
|
|
|
|
Any issue references should be evaluated within 15 minutes of being uploaded.
|
|
|
|
## Reviewing Changes
|
|
|
|
Another great way to contribute to the project is to review changes made by
|
|
others in the community. To find changes to review, you can filter by ready
|
|
for review on GitHub Issues or you can search Gerrit for open changes.
|
|
Links to both of these can be found below:
|
|
|
|
* [GitHub Issues "ready for review" Filter](https://github.com/airshipit/airshipctl/issues?q=label%3A%22ready+for+review%22)
|
|
* [Gerrit Review Board for airshipctl](https://review.opendev.org/#/q/status:open+NOT+label:Verified%253D-1+NOT+label:Workflow%253D-1+NOT+message:DNM+NOT+message:WIP+project:airship/airshipctl)
|