Edited at

GHC(Haskell)の上流リポジトリ等がGitLabに移行しました


はじめに

HaskellのコンパイラであるGHCの開発では、Gitの上流リポジトリ等を、GitLabに移行しました。

以下では、簡単に関連情報を記載します。


GitLabへの移行について

2018年末から2019年3月にかけて、GHC開発では、Gitの上流リポジトリやIssue(Ticket)管理等を、TracおよびPhabricatorから、GitLabに移行しました。

新しい、GHC用のGitLabサイトは以下になります。

移行時のアナウンス情報等は、こちらになります。


GitLabへ移行した内容

GHC開発では従来、Gitの上流リポジトリはTracに配置し、Issue(バグなどのTicket)管理はTracで行い、コードレビューはPhabricatorで行っていました。

今回を機に、それらが、以下のようにGitLabに移行されました。


  • Gitリポジトリ(2018年末に移行済み)



  • パッチ送付およびコードレビュー(2018年末に移行済み)



  • Issue(Ticket)管理(2019年3月に移行済み)



  • GHC Wiki(2019年3月に移行済み)



なお今後も引き続き、"GitHub"は、Gitの"mirror"用のリポジトリとして使用されます。


パッチの送付(Merge Request)およびコードレビュー

従来、正式なパッチの送付およびコードレビューは、Phabricatorを用いて行われていました。

2018年末からは、正式なパッチの送付およびコードレビューは、GitLabのMerge Requestsの機能を用いて行われるように変更されました。(Merge Request機能は、GitHubのPull Request機能相当のものです。)

以下は、GHC開発における、GitLab用のMerge Requestsのページです。

Merge Reuestの詳細手順などについては以下に説明があります。


Issue(Ticket)管理

Issue(バグなどのTicket)管理についても2019年3月に、TracからGitLabへの移行作業が完了しました。

以下は、GHC開発用のIssue管理のページです。

Issueに関する詳細手順などについては以下に説明があります。


GHC Wiki

GHC Wikiについても2019年3月に、TracからGitLabへの移行作業が完了しました。

(なお、Wikiシステムのフォーマット差にともなう記述更新などは、現在も続けられています。)

以下は、GHC開発用のWikiのページです。


CI(継続的インテグレーション)

GitLabへの移行によって、GHC開発におけるCIが強化されています。

GitLabへのMerge Requestを行うことにより、自動的にValidationのジョブが起動されます。Validationは、複数のプラットフォーム条件(OS, CPU, ビルド条件)に対して行われまます。

以下は、GHCのGitLabにおける、CI関連のページです。


GitLabへの移行の背景について、少し補足

GitLabへの移行の背景は多岐に渡ります。以下のメーリングリストに、主なやりとりのスレッドがあります。

例えば、主な動機は以下のようなものです。


  • GHCへのContributionを容易にすること(Phabricator使用よりも参入障壁を下げること)

  • Phabricatorの無償サポートの終了へ対応すること

  • CIを強化すること


GitLabでの各種アクティビティの表示についての補足

Issue管理やコードレビューが1つのシステム上に統合されたため、開発の状況を従来よりも追いやすくなっています。

例えば、以下のページでは、Issueやコードレビューについての開発者のやりとりを、まとめてリアルタイムに表示できます。

(なお、#nnnnnはIssue番号、!nnnはMerge Request番号を示しています。)

 

では、Happy GHC contributing! 

以上です。