Project CSP/DevOps practices

From mediawiki.org

Some of these practices need special attention because they are not straightforward for a MediaWiki based CSP. They are:

  • Version Control for all system artifacts
  • Continuous integration and deployment
  • Automated testing

The main reason why these practices need special attention is that features often are (partly) implemented as content. Templates, forms, Lua modules and widgets are pages in the wiki and therefore technically should be considered as content since they live in the database. MediaWiki doesn't provide a standard way to deal with this in the mentioned practices. For version control those pages need to be as files on the server. For continuous integration and deployment there need to be tools to get those files as pages in the deployed system. For automated testing there need to be tools that work within the system on those pages.

Version control for all system artifacts[edit]

Some tools are available to support this.

Tool Support for
Version control Continuous integration and deployment Automated testing
PageSync On save syncs marked pages to file. This enables the complete git flow on all system artifacts. Replaces pages in the target system with the pages on file. -
MWUnit - - Enables automated testing of templates and parser functions in the wiki

Continuous integration and deployment[edit]

Automated testing[edit]