The Haskell functional programming language is moving from Phabricator to GitLab. Last Saturday, Haskell Consultant Ben Gamari listed down some details about the move in a mail.
It started with a proposal to move to GitLab
A few weeks back, Gamari wrote to the Haskell mailing list about moving the Glasgow Haskell Compiler (GHC) development infrastructure to GitLab. The original proposal wasn’t complete enough to be used but did provide a small test instance to experiment on. The staging URL https://gitlab.staging.haskell.org is ready to use. While this is not the final version of the migration, it does have most of the features a user would expect.
- Trac tickets are fully imported, including attachments
- Continuous integration (CI) is available via CircleCI
- The mirrors of all boot libraries are present
- Users can also login using their GitHub credentials if they choose to
Issues in the migration
There are also a few issues listed by Gamari that needs to be worked on:
- Timestamps associated with ticket open and close events aren’t accurate
- Some of the milestone changes have problems on being imported
- Currently, CircleCI fails when forked
- Trac Wiki pages aren’t imported as of now
Gamari said that the listed issues have either been resolved in the import tool or are in-progress to be resolved.
The goal of this staging instance is to let contributors gain experience using GitLab and identify any obstacles in the eventual migration. Developers need to note that any comments, merge requests, or issues created on the temporary instance may not be preserved.
The focus is on identifying workflows that will become harder under GitLab and ways to improve on them, pending issues in importing Trac, and areas that do not have documentation.
Why the move to GitLab?
The did not choose GitHub as stated by Gamari in another mail: “Its feature set is simply insufficient enough to handle the needs of a larger project like GHC”. The move to GitLab is due to a number of reasons.
- Phacility, the company that owns Phabricator has now closed support to non paying customers
- As Phalicity now focuses on paying customers, open-source parts used by GHC seem half finished
- Phabricator tool Harbormaster causing breaking CI
- Their surveys indicated developers leaning towards Git rather than the PHP tool Arcanist used by Phabricator
The final migration will happen in about two weeks and the date mentioned is December 18.
For more details, you can follow the Haskell mailing list.