Skip to content

MaRDI4NFDI/wikibase-release-pipeline

 
 

Repository files navigation

Wikibase release pipeline

Repository overview

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.

Quick reference

Build Commands

# 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

Test Commands

# 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

Example Instance Commands

$ docker compose \
    -f ./example/docker-compose.yml \
    -f ./example/docker-compose.extra.yml \
    --env-file ./example/template.env up

Development Setup

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

Documentation

The pipeline documentation can be found here.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 64.2%
  • Shell 21.5%
  • Dockerfile 8.2%
  • PHP 2.8%
  • Python 1.8%
  • Nix 1.0%
  • Other 0.5%