Haskell
ghc

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


はじめに

HaskellのコンパイラであるGHCの開発では、Gitの上流リポジトリ等を、GitLabに移行しました。(一部、現在も移行対応中。)

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


GitLabへの移行について

2018年末に、GHC開発では、Gitの上流リポジトリやTicket管理等を、TracおよびPhabricatorから、GitLabに移行しました。(一部、現在も移行対応中。)

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

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


GitLabへ移行した内容

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

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


  • Gitリポジトリ(移行済み)



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



  • Ticket管理(現在、移行対応中)



  • GHC Wiki(現在、移行対応中)



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


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

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

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

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

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

なお今後も引き続き、ドキュメント修正などの軽いパッチの場合には、GitHubへのPull Requestを用いることが可能です。


Ticket管理

Ticket(バグやissue)管理については現在、TracからGitLabへの移行作業が進められている最中です。

(移行が完了次第、この記事を追随修正します。)


GHC Wiki

GHC Wikiについては現在、TracからGitLabへの移行作業が進められている最中です。

(移行が完了次第、この記事を追随修正します。)


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

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

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

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


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

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

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


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

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

  • CIを強化すること
     

 

では、Happy GHC contributing! 

以上です。