hashar added a comment.

The idea of mediawiki-extensions-* jobs was to test ahead of time what the 
result of wmf branch will be. As early as when a patch is proposed to `master` 
branches.

I proposed it back in Nov 2014 
https://www.mediawiki.org/wiki/Requests_for_comment/Extensions_continuous_integration
 and it is half completed :-/

The idea was to have a reference of extensions/skins to be deployed on 
Wikimedia production. I though the list in make-wmf-branch would be of good use 
since we update it before creating the branches. From there we have several 
scenario:

Adding a new extension to make-wmf-branch
-----------------------------------------

Propose a patch that which adds it to make-wmf-branch
We trigger a job that has all the extensions listed in make-wmf-branch using 
their `master` branches
Run the tests.

If tests pass, that mean the extension can be added to the next wmf branch 
since it will be made of the master branches.

That scenario needs a reference of extensions/skins to clone outside of the wmf 
branches.

Patch to extensions master branches
-----------------------------------

Clone of the extensions listed in make-wmf-branch at `master`.
Run the tests.
A failure will prevent the tests from falling in the next wmf branch

That scenario needs a reference of extensions/skins to clone outside of the wmf 
branches.

Patch to mediawiki wmf branches
-------------------------------

There we can simply use the submodules of mediawiki/core

- git submodule update --init --recursive
- include all extensions and skins
- run the tests

If that pass the patch to mediawiki/core wmf branch get merged.

Patch to extensions wmf branches
--------------------------------

That is where it becomes scary.

We would clone mediawiki/core wmf branch and process submodules

Then read the /.gitmodules and have zuul-cloner apply the proper references 
crafted by gate-and-submit. One trouble is that it might fall back a tip of a 
branch that has been updated in the extension but has not yet updated the 
submodule.

Example:

- extension A updates its wmf branch  mediawiki/core wmf branch is NOT updated
- extension B updates its wmf branch
- a patch proposes to update B in mediawiki/core wmf branch

When doing the submodule update, extension A does no't include the patch above. 
But zuul-cloner will checkout the branch from the repo.

------

Potentially we could have mediawiki/core wmf branches to be automatically 
updated whenever a patch is merged in an extension wmf branch.

Or we could get rid of the submodules in mediawiki wmf branches and just use 
the tip of the wmf branches from each extensions.


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

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

To: hashar
Cc: hashar, gerritbot, mmodell, aude, hoo, Krinkle, JanZerebecki, Aklapper, 
Wikidata-bugs, AndyRussG, Pcoombe, atgo, greg



_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to