hashar created this task.
hashar added projects: Wikidata, Continuous-Integration-Infrastructure (Little Steps Sprint).
Herald added a subscriber: Aklapper.

TASK DESCRIPTION

mediawiki/extensions/Wikibase.git is one of the biggest consumer of CI resources. We kept adding jobs to it and never quite revisited how needed they actually are.

The goal of this task is to reduce the number of jobs triggered

Context

Wikibase is:

  • a regular extension
  • an application to serve the data (repo)
  • a client connector for the wikis consuming Wikidata (client)

We have jobs combination to support:

  • php flavors: php55 and hhvm
  • database backends: sqlite and mysql

Jobs triggered

For gate-and-submit we end up triggering:

Job nameDescription
npm-node-6-jessie_javascript_ lint/style and others
composer-php55-trustylint/style
composer-hhvm-jessielint/style
php55lintLint on permanent slave. Composer already run parallel-lint
mwext-testextension-php55-composer-trustyPHPUnit
mwext-testextension-hhvm-composer-jessiePHPUnit
mwext-qunit-composer-jessieQUnit tests with Karma
mwext-mw-selenium-composer-jessieBrowser tests based on ruby/selenium

And we have subset jobs that tests the repo and client applications:

Job nameAppDB PHP
mwext-Wikibase-repo-tests-sqlite-php55-trustyReposqlite php55
mwext-Wikibase-repo-tests-sqlite-hhvm-jessieReposqliteHHVM
mwext-Wikibase-client-tests-mysql-php55-trustyClientMySQLphp55
mwext-Wikibase-client-tests-sqlite-php55-trustyClient sqlitephp55
mwext-Wikibase-client-tests-mysql-hhvm-jessieClientMysqlHHVM
mwext-Wikibase-client-tests-sqlite-hhvm-jessieClientsqliteHHVM

Proposition

Drop the Zend PHP 5.5 jobs entirely

Wikimedia is on HHVM and we don't really release Wikibase for outside world reuse. Would let us drop three jobs:

  • repo / sqlite
  • client / mysql
  • client / sqlite

Drop the client/sqlite combination

Wikimedia solely uses MySQL, my understanding is that the sqlite jobs were kept around since developers tend to use sqlite on their development box. Potentially we could migrate that test coverage to a job that runs after a change has been merged and on failure send an email. Will let us drop:

  • client / php55
  • client / hhvm

Leaving us with a single job for the client side and a single job for the repo side (which would have to be moved from sqlite to mysql:

Job nameAppDB PHP
mwext-Wikibase-repo-tests-sqlite-php55-trustyReposqlite php55
mwext-Wikibase-repo-tests-sqlite-hhvm-jessieReposqliteHHVM
mwext-Wikibase-client-tests-mysql-php55-trustyClientMySQLphp55
mwext-Wikibase-client-tests-sqlite-php55-trustyClient sqlitephp55
mwext-Wikibase-client-tests-mysql-hhvm-jessieClientMysqlHHVM
mwext-Wikibase-client-tests-sqlite-hhvm-jessieClientsqliteHHVM

Verify the test overlap with generic extension jobs

The generic jobs:

  • mwext-testextension-php55-composer-trusty
  • mwext-testextension-hhvm-composer-jessie

And the repo/client jobs:

  • mwext-Wikibase-repo-tests-sqlite-hhvm-jessie
  • mwext-Wikibase-client-tests-mysql-hhvm-jessie

There are probably a lot of tests being run twice.


TASK DETAIL
https://phabricator.wikimedia.org/T160989

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: hashar
Cc: Addshore, thcipriani, hashar, Aklapper, QZanden, D3r1ck01, Izno, Wikidata-bugs, aude, Mbch331, Jay8g
_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to