GitLab/Roadmap

From mediawiki.org

Wikimedia GitLab Timeline (so far)

Migrating our code review from Gerrit to GitLab will happen in stages:

✅ Foundations #[edit]

Consultation, documentation, vetting contractors, and buying hardware

👥 Groups involved[edit]

Technical community, Engineering Productivity, Site Reliability Engineering, Security, WMF Legal, GitLab contractor

📝 Activities[edit]

  • ✅ GitLab community consultation
  • ✅ Document code review and continuous integration workflows to include GitLab
  • ✅ Produce a roadmap
  • ✅ Engage with WMF Legal for ToS/Privacy Policy updates
  • ✅ Begin hiring process for GitLab contractor
  • ✅ Identify and estimate hardware use for GitLab components

📑 Status[edit]

✨Complete✨

✅ Construction #[edit]

Install and provision GitLab, create runbooks for upgrade and common administration tasks.

👥 Groups involved[edit]

Engineering Productivity, Site Reliability Engineering, Datacenter operations, Security, GitLab contractor

📝 Activities[edit]

  • ✅ Build a pre-production testing environment
  • ✅ Explore and establish login and authentication options
  • ✅ Rack, install, and setup GitLab for production
  • https://gitlab.wikimedia.org exists
  • ✅ Backups
  • ✅ Monitoring and Metrics
  • ✅ Establish deployment and upgrade cadence

📑 Status[edit]

✨Complete✨

✅ Explorers #[edit]

Individuals can use GitLab for their projects, but GitLab will still be missing features needed for teams to adopt GitLab.

👥 Groups involved[edit]

Individual developers, Engineering Productivity, Site Reliability Engineering, Security

📝 Activities[edit]

  • ✅ Publish tools for repository management
  • ✅ Create the initial ACL schema
  • ✅ Build puppetized CI runners
  • ✅ Open registration beyond NDA
  • ✅ Announce that we're open for use

📑 Status[edit]

✨Complete✨

🚧 Pioneers #[edit]

Groups of early adopters (“Pioneers”) can start to use GitLab. Release Engineering will begin to add needed integrations.

👥 Groups involved[edit]

Developer teams on the early adopter list, Engineering Productivity, Site Reliability Engineering

📝 Activities[edit]

  • Adapt notification bots (IRC/Slack) for GitLab
  • Adapt integrations with Phabricator
  • Automate the migration of code review from Gerrit to GitLab
  • Migrate code review to GitLab for these repos.
    • Test out and build (if necessary) support for dependent patchset workflows
    • Migrate mainline branch names to be more inclusive: move master to main alongside teams

📑 Status[edit]

🚧 In Progress

Estimate: Q2 FY2021/2022 (Oct–Dec 2021)

Pipeline #[edit]

Both the Deployment Pipeline and Wikimedia Cloud Services build and deploy container images to production environments. GitLab offers image building features in its CI pipeline. Let's standardize on a common way to target WMCS and Wikimedia production for container image deployment.

👥 Groups involved[edit]

Service developers, Engineering Productivity, Site Reliability Engineering, WMCS

📝 Activities[edit]

  • Build GitLab workers for secure Docker image creation.
  • Migrate relevant bots for these repositories
  • Plan with SRE and WMCS:
    • Continuous build and integration for each merge request for each repository
    • Continuous delivery of image artifacts to production infrastructure
  • Migrate code review to GitLab for these repos

📑 Status[edit]

♾️ Waiting

Estimate: Q3 FY2021/2022 (Jan–Mar 2022)

MediaWiki+Extensions+Skins #[edit]

This is the big push. We'll need experienced MediaWiki developers to partner with Release Engineering.

👥 Groups involved[edit]

MediaWiki developers, Engineering Productivity, Product and Technology department teams

📝 Activities[edit]

  • Implementation of the Gerrit Privilege Policy on GitLab.
  • Move the primary MediaWiki development platform from Gerrit to GitLab
  • Re-implementation of developer and release tools:
    • Ensure that deployment tooling has support for GitLab
    • Retool metric collection to support GitLab
  • Migrate code review to GitLab for these repos
  • Set these Gerrit repositories to read-only

📑 Status[edit]

♾️ Waiting

Estimate: Q1 FY2022/2023 (Jul–Sep 2022) at the earliest

Decommission Gerrit #[edit]

We have migrated all active code review to GitLab and now we can put in place a read-only/static view of Gerrit for historical URL preservation purposes. This is a big project itself.

👥 Groups involved[edit]

Technical community, Engineering Productivity, Site Reliability Engineering

📝 Activities[edit]

  • Gerrit becomes read-only
  • Create static dumps of historic reviews with reasonable efforts to preserve URLs
    • Important URLs: Change-Id, SHA1, unique ID, anchors to review comments(?)
  • Gerrit servers decommissioned
  • Ask GitHub repos to move to GitLab

📑 Status[edit]

♾️ ¯\_(ツ)_/¯

Estimate: Too early to say