User:TCipriani (WMF)/GitLab/Roadmap
|
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
- Open registration beyond NDA
- Announce that we're open for use
- Build puppetized CI runners
- Create the initial ACL schema
π Status
[edit]π§ In Progress
Pioneers
[edit]Groups of early adopters can start to use GitLab. Release Engineering will begin to add needed integrations.
π₯ Groups involved
[edit]Developer teams, 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
π Status
[edit]π Soonβ’
Estimate: Q2 FY2021/2022 (OctβDec)
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: Q2 FY2021/2022 (OctβDec)
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: Q3/Q4 FY2021/2022 (JanβJun) 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]βΎοΈ Β―\_(γ)_/Β―