WMDE Engineering/Code Repositories & Code Review

From mediawiki.org

Welcome to the Wikimedia Deutschland e.V. Engineering portal. Here you can find information about our engineering work, projects, processes and mentoring program. Everyone is invited to join our projects. The software development & engineering team and many volunteer developers are responsible for the features and projects listed on this portal.

Code Repositories

The software we are developing is located in several Git repositories on different services.

Code we develop for MediaWiki extensions and code that is closely related to MediaWiki is hosted on Diffusion on Wikimedia's Phabricator while the repositories can be found on Wikimedia's Gerrit. That includes for example Wikibase, RevisionSlider or code that we are contributing to MediaWiki Core. You can find out more about Phabricator Diffusion and Gerrit and how they are used at Wikimedia.

Other software components we are working on can be found under the WMDE organization on GitHub. Examples are Phragile or the Attribution Generator.

Some tools related to Wikidata but not part of the core software can be found under the Wikidata organization on GitHub.

Code Review

Code review is an integral part of our software development process.

Code review means, in a nutshell, that every line of code somebody is committing must be checked and approved by at least one other person before it is merged into the software component.

For all code we are committing to Gerrit we are following the code review principles defined for MediaWiki.

For code we are committing to our GitHub repositories the principles remain the same but the process differs slightly:

  • developer creates a new local branch
  • developer writes new code or changes existing code
  • developer commits the code and pushes it to a new remote branch on GitHub
  • developer navigates to the repository on GitHub and creates a new pull request for the commit
  • reviewer is checking the code in the pull request and leaving comments if necessary
  • reviewer merges the pull request once all issues with the code have been addressed