Skip to content

gesinn-it-pub/docker-compose-ci

Repository files navigation

docker-compose-ci

"Docker Compose" based CI and testing for MediaWiki extensions, built from mediawiki-ci images.

Quick Start

# 1 — add as submodule (once)
git submodule add https://github.com/gesinn-it-pub/docker-compose-ci.git build

# 2 — run the full CI suite
make ci

See the GitHub Actions CI and Local Development guides for detailed workflows.

Submodule lifecycle

Add (once)
git submodule add https://github.com/gesinn-it-pub/docker-compose-ci.git build
Clone with submodule
git clone --recursive <REPO>
# or, after a plain clone:
git submodule init && git submodule update
Update to latest
git submodule update --init --remote

Standard targets

Target Description

make ci

Full CI suite: build image, install MW, run all tests. Use in GitHub Actions and as the authoritative local gate.

make ci-coverage

Like make ci with test coverage reporting.

make install

(Re-)build image and reinstall MW without running tests. Required once per session when using volume mounts (see dev guide).

make down

Stop and remove containers. Images are also removed.

make bash

Open a shell inside the running wiki container.

Configuration variables

Core

Variable Description

EXTENSION

Name of the extension under test (must match the directory name in extensions/).

MW_VERSION

MediaWiki version for the Docker image.

PHP_VERSION

PHP version for the Docker image.

DB_TYPE

Database type: sqlite (default), mysql, postgres.

DB_IMAGE

Database Docker image, e.g. mysql:8. Ignored for sqlite.

COMPOSER_EXT

Set to true to run composer update inside the extension directory.

NODE_JS

Set to true to run npm install and enable JS test targets.

PHP_EXTENSIONS

Space-separated list of PHP extensions to install via docker-php-ext-install.

OS_PACKAGES

Space-separated list of apt packages to install (e.g. libgd-dev for the gd extension).

Bundled dependency extensions

Extension Variable

AdminLinks

AL_VERSION

ApprovedRevs

AR_VERSION

Chameleon

CHAMELEON_VERSION

DisplayTitle

DT_VERSION

Echo

ECHO_VERSION

Lingo

LINGO_VERSION

Maps

MAPS_VERSION

Mermaid

MM_VERSION

PageForms

PF_VERSION, PF_REPO (alternate repo URL)

PageSchemas

PS_VERSION

Scribunto

SCRIBUNTO_VERSION

SemanticMediaWiki

SMW_VERSION

SemanticResultFormats

SRF_VERSION

Further reading

About

Docker compose based CI for mediawiki extensions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors