The wikibase release pipeline contains scripts used for building, testing and publishing Wikibase docker images and tarballs.
It contains a set of build targets defined in the Makefile which can be executed in two different ways.
When building, use the build.sh script.
For testing, you can use ./test.sh <test-suite-name>
, and ./test.sh all
. Type simply ./test.sh
to get help for other CLI options.
# Build all wikibase suite components docker images
$ ./build.sh
# Build only the mediawiki/wikibase containers
$ ./build.sh wikibase
# Build only the query service container and save the docker image to a tarball
$ ./build.sh --save-image wdqs
# Build the wdqs-frontend container and extract a standalone tarball from the webroot
$ ./build.sh --extract-tarball wdqs-frontend
# Build the wdqs container without using Dockers cache
$ ./build.sh --no-cache wdqs
# Show help for the Test CLI, including various options available. WDIO command line options are also supported (see https://webdriver.io/docs/testrunner/)
$ ./test.sh
# Runs all test suites (defined in `test/suites`)
$ ./test.sh all
# Runs the `repo` test suite
$ ./test.sh repo
# Runs the `repo` test suite with a specific spec file (paths to spec files are rooted in the `test` directory)
$ ./test.sh repo --spec specs/repo/special-item.ts
# Runs the upgrade test suite from WMDE9 to the currently built version locally
$ ./test.sh upgrade WMDE9
# Start and leave up the test environment for a given test suite without running tests
$ ./test.sh repo --setup
$ docker compose \
-f ./example/docker-compose.yml \
-f ./example/docker-compose.extra.yml \
--env-file ./example/template.env up
To take advantage of the git hooks we've included, you'll need to configure git to use the .githooks/
directory.
$ git config core.hooksPath .githooks
The pipeline documentation can be found here.