人生ではじめてブログを書きます。
はじめてっていいですね。
タイトルの通り「GitHubのIssue登録とPull Request」について書きます。
注意事項なども併せて記載しているので、じっくりと読んでください。
自己紹介
どうも、nakazawaです。
concrete5とは?
ウェブサーバー上で、誰でも簡単で、しかも直感的にホームページの運営管理が出来る、手軽で画期的なオープンソースのCMSです。
MITライセンスでGithub上で公開されており、誰でもPull Requestを送って貢献することができます!
GitHubとは?
プログラムソースなどの変更履歴などを管理する分散型のバージョン管理システムであるGitの仕組みを利用して、誰でも自分のプログラムコードやデザインデータなどを保存、公開ができるWebサービスです。
Issue登録
concrete5のバグや機のリクエスト登録を行えます。
登録は、 GitHubのIssue登録ページからできます。
ページ右上に「New Issue」ボタンがあるので、そこをクリックすると登録画面が表示されます。入力が完了したら「Submit new issue」ボタンで登録完了です。とっても簡単ですね!
でも、Issue登録する際は、注意が必要です。
Github IssueとBug trackerと混同しないように気をつけてください。
GIthubは未確認状態のバグを登録する場所ではないので、もし登録したいバグが未確認の場合(ほとんど全てがそうかと思いますが)、official concrete5 bug trackerに投稿してください。そうすることでバグの確認作業と投票を行うことができます。
投稿されたもの全てがリリース予定のマイルストーンとして位置づけられるわけではありません。Pull Requestが行われたものはこのルールの例外となりますが、必ずしもPull Requestされた内容がconcrete5のcoreに反映されるとは限りません。
Pull Request
Issue登録されたバグやリクエストに対して、Pull Requestを行うことがきます。
リクエストを送る際は、concrete5のGithubからソースをフォークし、修正したファイルをプッシュしてください。
Pull Requestを行う場合、注意事項が何点かあるので下記のルールを遵守してくださいね!
-
共通のコーディングスタイルを適応させることは開発者の人生をより楽にすることができ、バグの発見にもとても役立ちます。@aemblerが以前言っていたように、「私たちは善き市民であるべき」なのです。つまり、同じ方言を使うことは誰にとっても有益となります。必ず Coding-Style Guidelinesに従ってください。php-cs-fixerを使えば簡単、安全かつ素早くコーディングスタイルの問題を解決することができます。
シンプルにコマンドを実行するだけでスタイルの適応が可能です。
php-cs-fixer --config=<webroot>/.php_cs.dist fix <filename>
Pull Requestする全てのPHPファイルにこのコマンドを実行してください。(なるべく別のコミットでお願いします。)
-
既にIssue登録されているものへのPull Requestは、一方的に送られてきたPull Requestよりもとてもとってもとーっても承諾されやすいです。
-
Pull Requestはdevelopブランチへ行ってください。Masterブランチは直近のリリースのためのものです。詳しくは、gitflowブランチモデルについての記事を参照してください。
-
もし、レガシーバージョンで開発を行っていた場合(ver5.6以前)、Migration Guideを参照してください。ver5.7以降のconcrete5との主要な相違点についての説明が記載されています。
はじめてのIssue登録
Issue登録の際に気をつけた点を紹介します。
1、バージョン
必ず最新のバージョンで動作確認を行なっている必要があります。うっかり古いバージョンでの挙動を報告しないように気をつけてください。
2、分かりやすく
どこで何の作業をしている時のことなのか、読んだ人がすぐに理解できるように書いてください。タイトルは、簡潔かつ具体的に書くと良いと思います。
ファイル添付もできるので、GIFファイルなどで操作内容を視覚的に伝えることもできます。
3、登録前に検索をかける
既に他の人がIssue登録している場合があるので、重複しないように気をつけてください。
Issue登録をすると、「priority:like to have」や「help wanted」、「type:discussion」などのラベリングをしてくれるので、ちょっと嬉しくなります。
はじめてのPull Request
はじめてのPull RequestはYoutubeブロックでした。
YoutubeのIFrame Player APIの仕様が変更になったことにより、concrete5のYoutubeブロックの一部設定が無効状態になってしまっているバグを修正しました。
今回は、この2つの設定に関して修正を行いました。
・動画再生終了後にプレーヤーに関連動画を表示するかどうかの設定
・動画の再生が始まる前に動画のタイトルやアップロードしたユーザーなどの情報の表示設定
Pull Requestをやってみて
Pull Requestをするには何をどうすればよいのか?という状態からのスタートだったので、とても感慨深い気持ちでした。
久しぶりに人の役に立ったと感じた一日でした。