Page MenuHomePhabricator

l10n bot should probably not self merge
Closed, DeclinedPublic

Description

The change https://gerrit.wikimedia.org/r/#/c/51900/ is a faulty update of the mediawiki core message file for the AR language. All messages have been removed from the file.

Since the l10n-bot vote CR+2 / V+2 and then submit the patch, the unit tests are entirely bypassed.

Marius Hoch proposed to white list l10n-bot so tests are run on submission:
https://gerrit.wikimedia.org/r/#/c/51972/ . I guess we should just run the gate and submit job instead. The workflow would thus need to be updated to something like:

  • l10n-bot send the patch
  • jenkins run the check scripts (just linting, no unit tests)
  • l10n-bot votes CR+2
  • jenkins trigger the gate-and-submit job
  • whenever the tests are successful, jenkins merge the change

That would let us catch regressions before landing changes in master.


Version: master
Severity: enhancement

Details

Reference
bz45715

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 1:18 AM
bzimport set Reference to bz45715.
bzimport added a subscriber: Unknown Object (MLST).

FWIW l10n-bot is not part of Translate extension.

I'm okay with no self-merging as long as the tests do not fail for unrelated reasons too often and that this works for core and all extensions the same way -- not all extensions have unit tests.

(In reply to comment #0)

The workflow would thus need to be updated to
something like:

  • l10n-bot send the patch
  • jenkins run the check scripts (just linting, no unit tests)
  • l10n-bot votes CR+2
  • jenkins trigger the gate-and-submit job
  • whenever the tests are successful, jenkins merge the change

That would let us catch regressions before landing changes in master.

Would this process be *guaranteed* for each and every repo, is this proposal only for core, or something else?

That is true lot of extensions are missing tests and an associated gate-and-submit job. To play it safe, maybe only do that for core for now.

(In reply to comment #3)

That is true lot of extensions are missing tests and an associated
gate-and-submit job. To play it safe, maybe only do that for core for now.

Can you please propose a change for this in our script, as that's what's currently being done after all patch sets for core and extensions have been submitted (repo: translatewiki, file: /bin/repocommit:

for i in ssh l10n-bot@gerrit.wikimedia.org -p 29418 gerrit query --format=TEXT owner:l10n-bot status:open |grep " url:" |cut -d/ -f5
do
echo "Merging ${i}..."
ssh l10n-bot@gerrit.wikimedia.org -p 29418 gerrit review $i,1 --code-review 2 --verified 2 --submit
done

For clarity: "repocommit core" does not have a merge command, that's done in repocommit mediawiki-extensions. It may very well be possible to have the above command only select patch sets from extensions/ and have a similar set of commands for core/, but with different actions (I just don't know which to use in the SSH API).

Should this be considered WONTFIX'ed by now? (Looks so.)

I filled that bug back in March 2013 following a conversation with i18n team. I am not sure whether that is still needed/wanted though.

(In reply to comment #6)

I filled that bug back in March 2013 following a conversation with i18n
team.
I am not sure whether that is still needed/wanted though.