[Original title: "Wikibase secondary CI broken: repo/sql/postgres/archives/patch-wb_changes-change_timestamp.sql does not match expected SQL". Wikibase CI – it turned out “primary” CI was also broken – has been fixed; see T400918#11111100 for a summary of the broader underlying issue which has not yet been resolved.]
Apparently Reenable doctrine tests for doctrine update breaks Wikibase secondary CI (GitHub Actions), though it’s not yet clear how. First failed build:
There was 1 failure:
1) Wikibase\Repo\Tests\WikibaseRepoSchemaTest::testSchemaChangesHaveAutoGeneratedFiles with data set "patch-wb_changes-change_timestamp.json" ('/home/runner/work/mediawiki-e...p.json')
SQL in /home/runner/work/mediawiki-extensions-Wikibase/mediawiki/extensions/Wikibase/repo/sql/postgres/archives/patch-wb_changes-change_timestamp.sql for postgres does not appear to be autogenerated. Re-generate it using generateSchemaChangeSql.php.
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
-- Do not modify this file directly.
-- See https://www.mediawiki.org/wiki/Manual:Schema_changes
ALTER TABLE
- wb_changes ALTER change_time TYPE TIMESTAMPTZ;
-
-ALTER TABLE
wb_changes ALTER change_time TYPE TIMESTAMPTZ;'
/home/runner/work/mediawiki-extensions-Wikibase/mediawiki/tests/phpunit/structure/AbstractSchemaTestBase.php:138
/home/runner/work/mediawiki-extensions-Wikibase/mediawiki/tests/phpunit/structure/AbstractSchemaTestBase.php:120(One of the five jobs succeeds because that job only runs the client tests.)
Current 2025-08-01 status: the commit has been reverted and a corrected version is up for review; we’re trying to figure out how the first version was able to pass gate-and-submit.
What we know so far:
- the patch was faulty as merged, containing an outdated version of one of the SQL files which would only have been correct with a different doctrine/dbal version (T400918#11051335)
- it nevertheless passed gate-and-submit because the relevant tests were skipped during the gate-and-submit build (T400918#11053216)
- they were skipped because the merge commit created by Zuul did not include the changes to the PHP files to un-skip the schema tests (T400918#11053499)
- the merge commit ended up this way because Zuul included the commit to skip the schema tests on both sides of the merge (T400918#11053657)