Skip to content
GitLab Next
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab FOSS GitLab FOSS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLab FOSSGitLab FOSS
  • Issues
  • #55039
Closed (moved) (moved)
Open
Created Dec 07, 2018 by Ben Gamari@bgamari11 of 38 tasks completed11/38 tasks

Glasgow Haskell Compiler (GHC) migration to GitLab

Background

The Glasgow Haskell Compiler is planning a migration to GitLab. GHC's infrastructure is currently:

  • Trac for ticket tracking and wiki
  • gitolite and a variety of custom tooling for repository hosting
  • Phabricator for code review
  • a mix of CircleCI (for Linux, macOS) and Appveyor (for Windows) for CI

Those responsible for GHC's infrastructure has been in touch with GitLab (namely @dplanella).

Goals

The main goals for a successful migration would be:

  • More accessible infrastructure for contributors
  • Code review integration with git
  • Reliable and maintainable multi-platform continuous integration
  • Streamlined infrastructure and tooling
  • Good relationship and open communication channel with upstream (GitLab in this case)

Discussion

Currently the migration is underway. Tools for migrating Trac tickets and the wiki into GitLab are largely complete. A staging installation can be found here.

GitLab replacements

Tool Feature GitLab feature GitLab edition
Gitolite GitHub -> Git mirroring Repository mirroring EE
Gitolite Git -> GitHub mirroring Repository mirroring EE
Trac Tickets Issues CE
Trac Ticket lists Issue boards CE
Trac Ticket notifications mailing list ? ?
Trac Ticket priority Issue weight EE
Trac Wiki Wiki CE
Phabricator Herald for automatic reviewer assignment Code owners EE
Phabricator Code review Discussions CE
Phabricator Continuous integration Pipelines CE
CircleCI Continuous integration Pipelines with custom CircleCI bridge tool CE
Appveyor Continuous integration Pipelines and Appveyor's GitLab integration CE

Outstanding issues

Blockers

  • Issues/API: Import difficulties due to #46980 (closed)
  • Issues: Commit notes aren't created if ticket is created after commit is pushed (#56943 (moved); worked around).

Urgent

  • Difficult to run certain CI jobs only on merge requests (#56418 (closed))
  • Gitaly loses its mind on an otherwise normal repository (#57067 (closed))
  • Functional gitlab-runner support on Windows. This might be either accomplished by
    • fixing gitlab-runner#3856 (closed),
    • following through on gitlab-runner#2609 (closed). It looks like there is motion along these lines on &535 (closed)
  • Functional artifact uploads on Windows (gitlab-runner#3035 (closed))
  • Approvers are spammed with large quantities of email (gitlab-ee#4816)

Important but not urgent

  • gitlab-runner
    • gitlab-runner fails to heartbeat while running a job on Windows (gitlab-runner#3854 (closed))
    • gitlab-runner support for AArch64: gitlab-runner!725 (closed), gitlab-runner#2137 (closed)
    • gitlab-runner support for msys2 (gitlab-runner#1699)
    • gitlab-runner leaves old Docker volumes around (gitlab-runner#2980 (closed))
  • Issues:
    • Closed milestones not shown in milestones line (#25091 (moved))
    • Issues are incorrectly closed by commits containing doesn't fix #NNNN in their commit message (#55970 (moved))
    • Issue search via issue number is broken (#30974 (closed))
  • Code review:
    • Send one email notification per published code review gitlab-ee#4326.
    • Finding changes between merge request revisions is quite difficult (#51336 (moved))
    • Very difficult to orient oneself in long reviews (#52485 (moved))
    • Finding new inline comments is quite hard (#56481 (moved))
    • Automatically rebase stale MRs marked as "merge when pipelines pass" (&521 (closed))
    • Attach non-inline comments to transactional reviews (gitlab-ee#8225)

Important but not prioritized by GitLab

  • Pipelines: No way to build all commits (#53799 (moved))
  • Wiki: Non-developers can't view wiki history (#14620 (moved))

Nice to have

  • Issues: Issue search autocompletion should be less selective (#57249 (closed))
  • Code review: Comments not allowed on unchanged lines (#51823 (moved))
  • Code review: file tree (#46474 (closed))
  • Pipelines: Need to custom bridge tool to integrate with CircleCI (need mitigated by migration away from CircleCI)
  • Pipelines: Difficulty of managing builder images, no story for Docker on Windows. Potentially helped by gitlab-runner!464 (closed), gitlab-runner#2885 (closed)
  • Pipelines: No way to query triggered pipeline status (gitlab-ee#5096)
  • gitlab-runner: extends keywords is broken in some cases (gitlab-runner#3794 (closed))
  • gitlab-runner: gitlab-runner violates the principle of least privilege (gitlab-runner#3188 (closed))
  • Issues: Label namespace clutter due to lack of custom fields (https://gitlab.com/gitlab-org/gitlab-ee/issues/1906, &235)
  • Issues: Better handling of duplicate and blocking ticket relationships (#47007 (closed), #39751 (moved))
  • Repository mirror: Crash (#55350 (closed))
  • Code review: Convenient way to fold all resolved discussions (gitlab-ce#55747)
  • Code review: Allow user to rewrite commit message while squashing during merge (gitlab-ee#1510)
  • Code review: Button to toggle visibility of all discussions (#19149 (moved))
  • Search: Be more clever in identifying user intent for searching on IDs (#56967 (moved))
  • Poor search relevance: fix ElasticSearch support (gitlab-ee#9633)

Status

The migration effort is on a fairly aggressive timeline due to various considerations. The plan is to switch over to GitLab by December 18. There is a test instance here. This is a self-hosted GitLab Ultimate installation provided through the GitLab FOSS initiative which includes an import of GHC's Trac tickets and users from a few months ago.

After migration there are a

Collaborators

  • @bgamari
  • @dplanella
Edited May 23, 2019 by David Planella
Assignee
Assign to
Time tracking