In order to prepare CirrusSearch for elastic6 need to put a development branch in gerrit. We did this in the past by creating a branch on few repository:
- mediawiki-vendor
- Elastica
- CirrusSearch
- possibly Translate and ApiFeatureUsage if the code needed to make these extensions compatible spans multiple patches.
We did this in the past for elasticsearch 1.x->2.x and 2.x -> 5.x migration.
We tried to apply the same technique for 5.x -> 6.x but this time it did not work as expected, I did not manage to tell Jenkins to run integration checks on the patches.
Things I tried:
- setup a es6 branch on vendor/Elastica/CirrusSearch
- Jenkins did not run the full suite on CirrusSearch (only phan checks)
- setup a wmf/es6
- discovered by Erik that the job config expects branches to be master or wmf/* but after adding all the relevant Depends-On tags now jenkins refuses to run the checks on CirrusSearch/Elastica and mw-vendor.
Patches:
- mw-vendor: https://gerrit.wikimedia.org/r/c/mediawiki/vendor/+/448584
- Elastica: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Elastica/+/448579
- CirrusSearch: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CirrusSearch/+/448546
There's a dependency cycle here but IIRC we did this as well in the past (forcing V+2 on one of the repo when we decided to merge)
For reference here is what we've done in the past: