Page MenuHomePhabricator

Add SQLite infra to Jenkins CI
Closed, InvalidPublic

Description

Motivation

Looks like SQLite related tests aren't run on CI. Lack of regular testing leads to inconsistency between different DB drivers and db schemas.

Expected Result

Both 3 drivers (Postgres, MySQL, SQLite) should be equally tested on CI.

Event Timeline

Peter.ovchyn renamed this task from Add SQLite infra Jenkins CI to Add SQLite infra to Jenkins CI.Feb 25 2020, 9:36 AM
Peter.ovchyn created this task.
Peter.ovchyn updated the task description. (Show Details)Feb 26 2020, 8:04 AM
daniel added a subscriber: daniel.

Both 3 drivers (Postgres, MySQL, SQLite) should be equally tested on CI.

We used to do that. It's no longer done due to resource constraints. I though we still ran these tests as gateway jobs, but I may be wrong. You should be able to trigger them by commenting "checksql" on a patch.

Anomie closed this task as Invalid.Feb 26 2020, 4:55 PM
Anomie added a subscriber: Anomie.

It already is. The problem is that the two tests in tests/phpunit/integration/ aren't being run in CI. See T246077#5920026 for details.

Both 3 drivers (Postgres, MySQL, SQLite) should be equally tested on CI.

We used to do that. It's no longer done due to resource constraints. I though we still ran these tests as gateway jobs, but I may be wrong. You should be able to trigger them by commenting "checksql" on a patch.

Yes, we run all three sets of tests for MediaWiki core, but only on merge to make CI faster (as the vast majority of patches don't touch the DB stuff).

For example, on https://gerrit.wikimedia.org/r/c/mediawiki/core/+/574513 there are the following jobs, which are identical in configuration except for the database back-end:

mediawiki-quibble-vendor-mysql-php72-docker
mediawiki-quibble-vendor-postgres-php72-docker
mediawiki-quibble-vendor-sqlite-php72-docker

Any CI-authorised user can trigger the set (and a few other miscellaneous jobs) on an unmerged patchset in core by commenting check php (check postgres and check sqlite both also work to run the whole set). For example, I just triggered it on https://gerrit.wikimedia.org/r/c/mediawiki/core/+/565741