Page MenuHomePhabricator

Create a containerized environment for running end-to-end API tests
Open, Stalled, Needs TriagePublic

Description

Running end-to-end API tests in a local development environment (as well as in CI) should be easy. In particular, it should be trivial to set up and tear down a wiki instance that the tests run against. A containerized environment seems the obvious choice.

Notes:

  • Perhaps this could be based upon Addshore's mediawiki-docker-dev project. This already provides an easy way to create a new wiki; adding a mechanism for quickly discarding a temporary wiki instance would perhaps be sufficient to complete this task.

Event Timeline

We (RelEng) are working on building Docker images for use with local-charts. Some goals:

  • Images should live in the WMF Docker registry, in an appropriate namespace
  • Images should be built on WMF base images (i.e. wikimedia-stretch)
  • Image definitions (this part is slightly hazy but we're figuring it out):
    • Base images capable of running, e.g., MediaWiki core will be defined using docker-pkg templates.
    • A .pipeline/blubber.yaml file in individual projects will be used by Blubber / the pipeline to deliver images that can be used to seamlessly provide MediaWiki deployments and services in the environment defined by local-charts.
  • Over time, this work should converge with how applications are tested in CI and deployed to production.

Ideally I think these images would probably be usable outside the framework of local-charts, and generally provide a useful foundation for containerized dev and testing.

I'll have a new repo up for the docker-pkg templates shortly.

@jeena may have clarifications here.

Naike changed the task status from Open to Stalled.Jun 5 2020, 4:20 PM

I'll have a new repo up for the docker-pkg templates shortly.

@brennen: Does that repo exist somewhere nowadays?

Does that repo exist somewhere nowadays?

We now use dev-images to define base images for both local-charts (which is sort of a backburnered project at the moment) and the docker-compose based MediaWiki-Docker.

Thanks for the link!

@Naike: Is this task still stalled ("If a report is waiting for further input (e.g. from its reporter or a third party) and can currently not be acted on") on something at this stage? (If it is, who or which task?) Thanks a lot!

Aklapper removed a subscriber: Clarakosi.

Adding missing MediaWiki-Core-Tests code project tag as Core Platform Team Initiatives (API Integration Tests) team tag is archived and its parent Platform Engineering team does not exist anymore