RACK/Contributing/ja
Contents
Getting started
はじめに、Developer's Guideに目を通しておいてください。 Developer's Guideには、コントリビューションをするため必要なアカウントのセットアップやContributor License Agreementへの署名の手順、およびコミットのプッシュやコードレビューの方法などが記載されています。 準備ができたら、次のセクションに進んでください。
Setting up your git
ユーザ名とメールアドレスを設定します。
git config --global user.name "Firstname Lastname" git config --global user.email "your_email@youremail.com"
Gerritユーザ名を設定します。
git config --global gitreview.username "your_gerrit_username"
設定を確認して下さい。
git config --list
Installing git-review
pip install git-review
Your first commit
Setting up your local branch
git clone https://github.com/stackforge/rack.git cd rack git checkout -b [branch name] git review -s
"git review -s"コマンド実行時にエラーが出力された場合、SSH鍵の登録やライセンスの署名漏れなどが原因として考えられます。 もう一度Developer's Guideを確認して下さい。
branch nameは命名規則があります。
- blueprintを開発する場合: bp/{blueprint name}
- bugのパッチを開発する場合: bug/{bug number}
Make and push your change
パッチを書いたら、Gerritにプッシュします。 Gitのコミットメッセージを書くときは、OpenStackのガイドラインに従うようにしてください。 以下にいくつか列挙します。
- コミットメッセージの1行目は50文字以内とする
- 以降の各行は78文字以内とする
- 2行目は空白行とする
- 最終行はblueprintもしくはbugのリンクを記載する
- 各行の末尾に空白が入らないようにする
例:
Adds a new api <blank line> Long multiline description of the change ... <blank line> Implements: blueprint add-new-api Closes-Bug: #123456 Change-Id: I4946a16d27f712ae2adf8441ce78e6c0bb0bb657
Change-Idはgit-reviewによって自動的に付与されます。 最終行にはパッチの種類に応じて以下を記載します。
- blueprintに関するパッチの場合: Implements: blueprint [blueprint name]
- bugに関するパッチの場合
- このパッチでクローズされる場合: Closes-Bug: #{bug number}
- このパッチでbugの一部がFixされる場合: Partial-Bug: #{bug number}
- 単なる関連を示すだけの場合: Related-Bug #{bug number}
そのあと、パッチをプッシュします。
git commit -a git review -v
Blueprints
OpenStackのBlueprint運用フローに従うようにしていますが、まだプロジェクトが小規模なのでいくらか簡略化しています。OpenStackにおけるBlueprint運用フローについては Blueprints を参照してください。
Blueprints lifecycle
- Launchpadにてblueprintを起票します。
- RACK DriversのメンバーがPriorityを指定します。
- 開発を開始したら、Implementationを"Started"に変更します。
- 開発が完了したら、"Implemented"に変更します。
Register blueprint
Launchpad上の記述は全て英語とします。 blueprintを起票するときは、以下に従ってください。
Name | 他のblueprintと区別できるハイフン付き文字列 (ex. api-to-create-process) |
Title | このBlueprintで何をするのかを簡潔に説明する文字列 (ex. Create API to create processes) |
Specification | Wikiに新規ページを作成し、そのURLを指定します。 |
Summary | 1~2行でいいので、英語で簡潔な説明を記述してください。 |
Assignee | 空欄で構いません(担当者が決まっていれば入力) |
Drafter | Blueprintを起票した人の名前が自動で入ります。 |
Approver | 空欄で構いません。 |
Definition Status | Newにしてください。 |
Propose for sprint | (nothing selected) のままにしてください。 |
Specification
blueprintの詳細は新規にWikiページを作成し、そこに記述します。
- htps://wiki.openstack.org/wiki/RACK/{機能名}/ja
Specificationは日本語でOKとします。 フォーマットは自由ですが、他のOpenStackプロジェクトのWikiを参考にしてください。
Bugs
OpenStackのBug運用フローに従うようにしていますが、まだプロジェクトが小規模なのでいくらか簡略化しています。OpenStackにおけるBug運用フローについては Bugs を参照してください。
Bugs lifecycle
- Launchpadにてbugを起票します。
- bugの再現性が確認されたら、RACK DriversのメンバーはImportanceを決定し、StatusをConfirmedに変更します。
- パッチをGerritにプッシュすると、StatusがIn progressとなり、パッチ投稿者がAssigneeとなります。
- パッチがマージされると、Gerritにより自動的にStatusがFix Commitedに変更されます。
Register bug
Launchpad上の記述は全て英語とします。 bugを起票するときは、以下に従ってください。
Summary | bugの内容を簡潔に記載します。 |
Further information | バグの内容を詳細に記載します。説明が長くなるようであれば、#Specificationと同じようにWikiを作ってリンクを貼ってもいいかもしれません。 |
This bug contains information that is | Publicにしてください。 |
Extra options | 記載不要です。 |