Skip to content

How To Contribute

tonboAkinori edited this page Jan 7, 2019 · 3 revisions

バグ報告

この節ではバグ報告に関して記載します。
バグ報告時には、下記のガイドラインに従うことで、メンバーがバグ報告を確認する際の助けとなります。

バグ報告をする前に

報告しようとしているバグがすでに修正されている可能性もあるので、
下記の項目を確認してください。

  • ソフトウェアバージョンを確認する
    報告しようとしているバグがすでに修正されている可能性もあるので
    最新のソフトウェアバージョンで現象が発生するか確認してください。

    • Windows
      コントロールパネル -> プログラム -> プログラムと機能 -> 検索窓に openrtm と検索
    • Linux
      コマンドプロンプトで $dpkg -l “openrtm*" で出力されるバージョン列を確認ください
      下記の出力は、Ubuntu 16.04でopenrtm 1.1.2 をインストールしている場合の出力例です
$ dpkg -l "openrtm*”
要__望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                       バージョン         アーキテクチャ     説明
+++-==========================-==================-==================-=========================================================
ii  openrtm-aist:amd64         1.1.2-0            amd64              OpenRTM-aist, RT-Middleware distributed by AIST
ii  openrtm-aist-dev:amd64     1.1.2-0            amd64              OpenRTM-aist headers for development
ii  openrtm-aist-doc           1.1.2-0            all                Documentation for openrtm-aist
ii  openrtm-aist-example:amd64 1.1.2-0            amd64              OpenRTM-aist examples
ii  openrtm-aist-python        1.1.2-0            amd64              OpenRTM-aist is a reference implementation of RT-Middlewa
ii  openrtm-aist-python-exampl 1.1.2-0            amd64              OpenRTM-aist-Python examples
  • バグを報告すべきリポジトリを決定する
    Issueはリポジトリ毎に発行できるため、バグを報告するリポジトリを決定してください
    また、どのリポジトリか判断が出来ない場合は OpenRTM-aist リポジトリのIssueで作成してください。

  • 共通のバグが報告されていないか確認する
    報告しようとしているバグがすでに他のユーザーに報告されている可能性もあるので、
    まだクローズされていないIssueに同様の報告がないか確認してください。

バグの報告方法

バグ報告テンプレートに従って情報を記入してください

機能追加の提案

この節では、機能の追加や拡張の提案ついて記載します。 提案時には、下記のガイドラインに従うことで、メンバーが提案を理解する際の助けとなります。

機能追加を提案する前に

機能追加を提案する前に、IssueリストからEnhanceラベルが付与されているIssueを確認してください。 もしかすると、すでに提案されている機能かもしれません。

機能追加の提案方法

機能テンプレートに従って情報を記入してください.

問い合わせ

この節では、問い合わせについて記載します。

問い合わせをする前に

ホームページに問い合わせに対する回答が記載されているかもしれません。
こちらを確認してみてください。

問い合わせ方法

問い合わせテンプレートに問い合わせたい内容を可能な限り詳細に記載してください。

Pull Request

この節では、Pull Requestについて記載します。

Pull Requestを作成する前に

Pull Requestを作成する場合は下記の項目に従ってください

  • リポジトリをforkしてtopicブランチを作成する
  • masterブランチとreleaseブランチに直接コミットしない
  • コンフリクトが無い状態で Pull Request を作成する

本プロジェクトでは、GitHub Flow を採用しており下記のブランチ構成ルールがあります。

  • masterブランチ

    • メインブランチであり、新機能などの追加やバグの修正を取り込むブランチ
    • 開発者がmasterブランチへ直接コミットすることは禁止
  • releaseブランチ

    • 特定のバージョンのリリースを準備するために作られるブランチ、通常は機能追加を行わずバグ修正のみが行われる
    • 通常はmasterブランチから作られるが、特別に先行リリースなどが必要な場合などはreleaseブランチから作られることがある
    • 開発者がreleaseブランチに直接コミットすることは禁止
    • 管理者は命名規則に従いreleaseブランチにブランチ名を付与する
  • topicブランチ

    • 開発者は機能の追加やバグ修正の際には、masterブランチかreleaseブランチをもとにtopicブランチ作成する
    • 開発者はtopicブランチで作業を行い、masterもしくはreleaseブランチでは作業しない
    • 開発者は機能追加やバグ修正内容に合わせてtopicブランチに適当な名前をつけること
    • 開発者は変更がマージできる状態になった後に、Pull Requestを作成すること

コミットのプレフィックス規則

OpenRTMプロジェクトでは、コマンドラインでコミット検索をすることを考慮し、
コミットのタイトルにプレフィックスを付与しています。
コミットする時は下記を参照してプレフィックスを付けたタイトルを記載してください。

  • プレフィックスルール [互換性,(作業内容),(作業対象),(その他目印),マージ目印]
    • 互換性
      • compat: インターフェースの互換性がある場合
      • incompat: インターフェース変更がない場合、マイナーバージョン変更が必要
    • 作業内容
      • merge: マージ
      • bugfix: バグフィックス
      • modify: 単なる変更
      • newfunc: 機能追加
      • newfile: ファイル追加
    • 作業対象
      • config: 設定ファイルの変更(≠ソース変更)
      • document: ドキュメントファイルの変更
      • build: ビルドファイルなどの変更、ビルド手順の変更
      • installer: インストーラ、インストールスクリプトなどの変更
      • example: サンプルコードの変更
      • encoding: 文字コード、改行コードなどの変更
    • 単なる目印
      • TAO: TAO関連の変更
      • VxWorks: VxWorks関連の変更
    • マージの目印
      • ->RELENG_1_2: RELENG_1_2のブランチにマージすべき変更

Pull Request作成

Pull Requestのテンプレートに従って情報を埋めてください.