Page MenuHomePhabricator

Migrate DataModel, DataModelServices, DataModelSerialization, WBInternalSerialization to Wikibase.git
Closed, ResolvedPublic

Description

  • Migrate DataModel, DataModelServices, DataModelSerialization, WBInternalSerialization to Wikibase.git packages
  • Add patches to other Wikibase extensions to make them depend on Wikibase
  • Add a patch to Wikibase that depends on the vendor patch
  • Create a patch removing these packages from mediawiki/vendor
  • Remove the packages from composer.json
  • Add CI to create standalone git repos for these libraries and then alter the packagist configuration to read from these
  • Mark the current GitHub repos as deprecated (and maybe archive them).
  • Ensure credentials are in place and each push action runs
  • Move (De)Serializer factory to the correct place and remove hacks to load them
  • Check PHPUnit Tests
    • Lib Hooks
    • phpunit.xml
  • phan config

Note: More info in Wikibase/lib/packages/README.md

Details

SubjectRepoBranchLines +/-
mediawiki/extensions/Wikibasemaster+4 -171
mediawiki/extensions/Wikibasemaster+20 -0
mediawiki/extensions/Wikibasemaster+0 -22
mediawiki/extensions/Wikibasemaster+13 -0
mediawiki/extensions/WikibaseLexememaster+20 -13
mediawiki/extensions/WikibaseQualityConstraintsmaster+3 -3
mediawiki/extensions/WikibaseMediaInfomaster+17 -15
mediawiki/extensions/WikibaseMediaInfomaster+12 -14
mediawiki/extensions/Wikibasemaster+98 -114
mediawiki/extensions/WikibaseLexememaster+9 -16
mediawiki/extensions/WikibaseQualityConstraintsmaster+3 -3
mediawiki/extensions/Wikibasemaster+415 -408
mediawiki/extensions/Wikibasemaster+57 -0
mediawiki/extensions/Wikibasemaster+95 K -0
mediawiki/extensions/Wikibasemaster+52 -33
mediawiki/extensions/Wikibasemaster+7 -11
mediawiki/extensions/WikibaseMediaInfomaster+1 -4
mediawiki/extensions/WikibaseQualityConstraintsmaster+0 -3
mediawiki/extensions/WikibaseLexememaster+0 -3
mediawiki/extensions/PropertySuggestermaster+0 -4
mediawiki/extensions/Wikibasemaster+4 -0
mediawiki/vendormaster+5 -20 K
mediawiki/extensions/Wikibasemaster+28 -4
mediawiki/extensions/Wikibasemaster+0 -0
mediawiki/extensions/Wikibasemaster+3 -0
Show related patches Customize query in gerrit

Event Timeline

Change 713448 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] DNM: test commit of squashed merge of datamodel

https://gerrit.wikimedia.org/r/713448

Change 713449 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] Preemptively disable linting for data-model related packages

https://gerrit.wikimedia.org/r/713449

Change 713449 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Preemptively disable linting for data-model related packages

https://gerrit.wikimedia.org/r/713449

Change 713819 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] Merge standalone DataModel and related libraries into Wikibase

https://gerrit.wikimedia.org/r/713819

Change 713820 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] Move (De)serializerFactory into (De)serializer Namespace

https://gerrit.wikimedia.org/r/713820

Change 714017 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/vendor@master] Remove Wikibase DataModel Libraries

https://gerrit.wikimedia.org/r/714017

Change 714370 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] Load DataModel Libraries from extension.json not composer.json

https://gerrit.wikimedia.org/r/714370

Change 715016 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] Renable Phan for Wikibase

https://gerrit.wikimedia.org/r/715016

Change 715017 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/PropertySuggester@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715017

Change 715019 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseLexeme@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715019

Change 715020 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseMediaInfo@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715020

Change 715022 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseQualityConstraints@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715022

Change 713819 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Merge standalone DataModel and related libraries into Wikibase

https://gerrit.wikimedia.org/r/713819

Change 714370 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Load DataModel Libraries from extension.json not composer.json

https://gerrit.wikimedia.org/r/714370

Change 715743 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] Include hack to load badly namespaced classes

https://gerrit.wikimedia.org/r/715743

Change 715743 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Include hack to load badly namespaced classes

https://gerrit.wikimedia.org/r/715743

Change 714017 merged by jenkins-bot:

[mediawiki/vendor@master] Remove Wikibase DataModel Libraries

https://gerrit.wikimedia.org/r/714017

Change 715019 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715019

Change 715017 merged by jenkins-bot:

[mediawiki/extensions/PropertySuggester@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715017

Change 715020 merged by jenkins-bot:

[mediawiki/extensions/WikibaseMediaInfo@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715020

Change 715022 merged by jenkins-bot:

[mediawiki/extensions/WikibaseQualityConstraints@master] Remove composer dependency on Wikibase DataModel libraries

https://gerrit.wikimedia.org/r/715022

Change 715016 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Renable Phan for Wikibase

https://gerrit.wikimedia.org/r/715016

I've put up an "example" naturally slightly tweaked to show how the action will work with two consecutive new commits.
The action is available at https://github.com/tarrow/git-monorepo-splice-docker-action
An example commit on a copy of Wikibase is available at https://github.com/tarrow/Wikibase-clone/commit/0b120579b0498df7bcfb0538f6f8fd75109ccf71
The resulting job run is available at https://github.com/tarrow/Wikibase-clone/runs/3532731648
And the two commits fake added to the upstream DataModel library can be seen at: https://github.com/tarrow/WikibaseDataModel/commit/7fc86a9f0b1650825daae6c4155559bc29986d95

Change 719245 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] CI to extract DataModel commits to standalone library

https://gerrit.wikimedia.org/r/719245

Moved to peer review since I think it would be good to get the first lib (DataModel) approved before we start repeating the pattern

Change 719245 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] CI to extract DataModel commits to standalone library

https://gerrit.wikimedia.org/r/719245

Change 713448 abandoned by Tarrow:

[mediawiki/extensions/Wikibase@master] DNM: test commit of squashed merge of datamodel

Reason:

https://gerrit.wikimedia.org/r/713448

Change 720680 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] CI to extract new packages to standalone libraries

https://gerrit.wikimedia.org/r/720680

Change 720680 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] CI to extract new packages to standalone libraries

https://gerrit.wikimedia.org/r/720680

Change 722281 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseLexeme@master] FP: relax (De)SerializerFactory Typings

https://gerrit.wikimedia.org/r/722281

Change 722284 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseLexeme@master] FP: tighten (De)SerializerFactory typings again

https://gerrit.wikimedia.org/r/722284

Change 722329 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseMediaInfo@master] FP: relax (De)SerializerFactory Typings

https://gerrit.wikimedia.org/r/722329

Change 722330 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseMediaInfo@master] FP: tighten (De)SerializerFactory typings again

https://gerrit.wikimedia.org/r/722330

Change 722571 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseQualityConstraints@master] FP: relax (De)SerializerFactory Typings

https://gerrit.wikimedia.org/r/722571

Change 722595 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] FP: Renable phpcs on packages

https://gerrit.wikimedia.org/r/722595

Change 722595 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] FP: Renable phpcs on packages

https://gerrit.wikimedia.org/r/722595

Change 722813 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/WikibaseQualityConstraints@master] FP: tighten (De)SerializerFactory typings again

https://gerrit.wikimedia.org/r/722813

Change 722815 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] FP: Remove (De)SerializerFactory class aliases

https://gerrit.wikimedia.org/r/722815

Change 722281 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] FP: relax (De)SerializerFactory Typings

https://gerrit.wikimedia.org/r/722281

Change 722571 merged by jenkins-bot:

[mediawiki/extensions/WikibaseQualityConstraints@master] FP: relax (De)SerializerFactory Typings

https://gerrit.wikimedia.org/r/722571

Change 722329 merged by jenkins-bot:

[mediawiki/extensions/WikibaseMediaInfo@master] FP: relax (De)SerializerFactory Typings

https://gerrit.wikimedia.org/r/722329

Change 713820 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Move (De)serializerFactory into (De)serializer Namespace

https://gerrit.wikimedia.org/r/713820

Change 722813 merged by jenkins-bot:

[mediawiki/extensions/WikibaseQualityConstraints@master] FP: tighten (De)SerializerFactory typings again

https://gerrit.wikimedia.org/r/722813

Change 722330 merged by jenkins-bot:

[mediawiki/extensions/WikibaseMediaInfo@master] FP: tighten (De)SerializerFactory typings again

https://gerrit.wikimedia.org/r/722330

Change 722284 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] FP: tighten (De)SerializerFactory typings again

https://gerrit.wikimedia.org/r/722284

Change 723140 had a related patch set uploaded (by Tarrow; author: Tarrow):

[mediawiki/extensions/Wikibase@master] FP: Enable phpunit tests for packages

https://gerrit.wikimedia.org/r/723140

Change 722815 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] FP: Remove (De)SerializerFactory class aliases

https://gerrit.wikimedia.org/r/722815

Change 724390 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] FP: remove redundant phpcs in packages

https://gerrit.wikimedia.org/r/724390

Change 724708 had a related patch set uploaded (by Jakob; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Add missing packages to unit tests list

https://gerrit.wikimedia.org/r/724708

Change 724708 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Add missing packages to unit tests list

https://gerrit.wikimedia.org/r/724708

Change 724390 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] FP: remove redundant phpcs in packages

https://gerrit.wikimedia.org/r/724390