Wikibase
MediaWiki Wikibase extension
16) Use GitHub Actions as secondary CI system for Wikibase

Date: 2021-01-06

Status

accepted

Context

The Wikibase CI which runs on WMF Jenkins is currently "augmented" by running php unit tests in a variety of additional configurations (e.g. non-English wiki, repo/client-only environment, etc) on legacy Travis CI infrastructure, via the GitHub mirror of our Gerrit code repository, see https://travis-ci.org/github/wikimedia/Wikibase.

The Travis CI features we currently use include:

  • PHP installed (multiple versions),
  • MySQL running,
  • notifications via
    • email,
    • IRC,
  • composer cache.

Due to a change in their business model, the travis-ci.org service is being phased out and replaced by (paid) travis-ci.com. Since we have no intention of dropping the extended CI testing, there are several options how to handle the situation:

  • migrate additional CI for Wikibase to some other CI infrastructure, e.g. GitHub Actions,
  • negotiate with the WMF changing the Travis CI plan to a paid one which would have unlimited/less limited resources available,
  • migrate additional CI for Wikibase to additional jobs on WMF Jenkins CI.

Decision

We will migrate the additional CI for Wikibase to the GitHub CI infrastructure, using GitHub Actions.

Reasons: The GitHub mirror of the Wikibase repository exists already and all of the Travis CI features we have been using so far, are available on GitHub Actions:

Consequences

Since most of our Travis CI is a collection of shell scripts, it will mostly work the same under GitHub Actions and migrating is a relatively low-effort solution for the short or mid term; in the long term, the Wikimedia migration to GitLab will presumably change a lot in our CI processes.