Page MenuHomePhabricator

Duplicate git tags for 1.43.0-rc.0 and 1.43.0 in mediawiki/core.git
Closed, ResolvedPublicBUG REPORT

Description

https://integration.wikimedia.org/ci/job/beta-code-update-eqiad/558816/console

15:40:05 15:40:05 prep failed: <FailedCommand> Command 'git fetch --tags --jobs 2 --no-recurse-submodules origin master' failed with exit code 1;
15:40:05 stdout:
15:40:05 
15:40:05 stderr:
15:40:05 From https://gerrit.wikimedia.org/r/mediawiki/core
15:40:05  * branch                    master      -> FETCH_HEAD
15:40:05  ! [rejected]                1.43.0-rc.0 -> 1.43.0-rc.0  (would clobber existing tag)
15:40:05  (scap version: 4.192.0) (duration: 00m 03s)
15:40:05 Build step 'Execute shell' marked build as failure

Event Timeline

The failing git fetch in Beta Cluster was fixed manually.

root@deployment-deploy04:/srv/mediawiki-staging/php-master# sudo -u jenkins-deploy git fetch --tags --jobs 2 --no-recurse-submodules origin master
remote: Counting objects: 1997, done
remote: Finding sources: 100% (2/2)
remote: Total 2 (delta 0), reused 2 (delta 0)
Unpacking objects: 100% (2/2), 1.57 KiB | 535.00 KiB/s, done.
From https://gerrit.wikimedia.org/r/mediawiki/core
 * branch                    master      -> FETCH_HEAD
 ! [rejected]                1.43.0      -> 1.43.0  (would clobber existing tag)
 ! [rejected]                1.43.0-rc.0 -> 1.43.0-rc.0  (would clobber existing tag)
root@deployment-deploy04:/srv/mediawiki-staging/php-master# git tag --list 1.43.0*
1.43.0
1.43.0-rc.0
root@deployment-deploy04:/srv/mediawiki-staging/php-master# sudo -u jenkins-deploy git fetch --tags --jobs 2 --no-recurse-submodules --force origin master
From https://gerrit.wikimedia.org/r/mediawiki/core
 * branch                    master      -> FETCH_HEAD
 t [tag update]              1.43.0      -> 1.43.0
 t [tag update]              1.43.0-rc.0 -> 1.43.0-rc.0

Exploring things a bit in a git clone that has not been force updated yet:

$ git show -s HEAD
cdc0b6715c62b85d8295d65ec3ac724a6ea7dee9 (HEAD -> master, origin/master, origin/HEAD) session: Make SessionManager use DI (step 2)
$ git tag --list 1.43.0*
1.43.0
1.43.0-rc.0
$ git --no-pager show -s --pretty 1.43.0-rc.0
commit 25990d47740fcdce8e37abad94745a0d204b0e3f (tag: 1.43.0-rc.0)
Author: Atieno <pnjira@wikimedia.org>
Date:   Tue Dec 3 22:25:27 2024 +0300

    Prep 1.43.0-rc.0

    Based on I32963c91ce8e73412769557ded867286149dc166

    Bug: T372320
    Change-Id: I87e9992789ceefdd1f3c01e948f22cac1bf39d96
$ git --no-pager show -s --pretty 1.43.0
tag 1.43.0
Tagger: Atieno <pnjira@wikimedia.org>
Date:   Fri Dec 20 21:55:00 2024 +0300

Tagging 1.43.0

commit 8216997ffcc956a610635f07044fb9a3b5dda9d9 (tag: 1.43.0)
Author: Atieno <pnjira@wikimedia.org>
Date:   Fri Dec 20 17:36:14 2024 +0300

    Prep 1.43.0

    Bug: T372295
    Change-Id: I47c8d47e8a098faba63b7d16e9ccd0362fb17d27

From an updated clone:

root@deployment-deploy04:/srv/mediawiki-staging/php-master# git show -s HEAD
commit f4382ddcad6118ef5fcc2ab53214f0fabb5668d9 (HEAD -> master)
Author: Jenkins-deploy <jenkins-deploy@deployment-deploy04.deployment-prep.eqiad1.wikimedia.cloud>
Date:   Tue Jul 29 16:07:03 2025 +0000

    scap prep auto setup
root@deployment-deploy04:/srv/mediawiki-staging/php-master# git tag --list 1.43.0*
1.43.0
1.43.0-rc.0
root@deployment-deploy04:/srv/mediawiki-staging/php-master# git --no-pager show -s --pretty 1.43.0-rc.0
tag 1.43.0-rc.0
Tagger: Atieno <pnjira@wikimedia.org>
Date:   Tue Jul 29 18:25:26 2025 +0300

 Prep 1.43.0-rc.0

Based on I32963c91ce8e73412769557ded867286149dc166

Bug: T372320
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE4FnANOekMFg8JS9KqPc0JG1ztYYFAmiI6CgACgkQqPc0JG1z
tYadtw//UvVr6v91HDRW9Gmzen9UvxC/mbS2cYRRyifWeBmg+RflUbmy0FkC4pEz
Sc6/8aX0MPtVS+kYe1om9AdMNT8szKj8iSQH2zz9v7WVgS1ZnGZt4v67xpAUhq+3
7xuD+Uc0jbTZUCwVwjdBXId8s9QJmhDdss1HfbtKt2tK8ynZSgB6Ei1fsl9o1xaU
pupo0BRYoltvHPhbya54DIPVFtx8k4Te6U7EfIw8rlqE/SjdOT/Dfuj1KSbPAgW6
C8svEm17GVAHFeqGeL+kcWci2nto0itF9oNoW+STJidnCca42bW5gsh/7my39Fo3
Kuuf85WdmRdS/CgrycpveSvbu3up0gqnV/s8HWiPORf9VYWl1S63E0wi8srGhBHz
2ojKoO6KaWJ0jMXU5iDncpZhLwYv1ST1tjrhLW7jzgFruRWuwewLcxTDdVgSXBVR
gYxAkX6VSV1dmyNOA2XTM7W/QmWIDY6VKL785DQjC+jvJXa1+py3ZZcsNKlaOZog
SsILdvZ4vQXt4rv/F0asK6rhqBb4CpXQgPrTa4vpdFz0nJ4HZnYglg1YEOpfW2/k
jeYwDxF44cdzYmAza7788+D+XqruYiAvoLCGVmifMKWBM6pyjzzP5iYvshZEh9LZ
o8YPu8/QcWFTVkRapI89vdnkdMB9H+Er4bw1o7Dm3TNGwU67ZVk=
=dwNP
-----END PGP SIGNATURE-----

commit 25990d47740fcdce8e37abad94745a0d204b0e3f (tag: 1.43.0-rc.0)
Author: Atieno <pnjira@wikimedia.org>
Date:   Tue Dec 3 22:25:27 2024 +0300

    Prep 1.43.0-rc.0

    Based on I32963c91ce8e73412769557ded867286149dc166

    Bug: T372320
    Change-Id: I87e9992789ceefdd1f3c01e948f22cac1bf39d96
root@deployment-deploy04:/srv/mediawiki-staging/php-master# git --no-pager show -s --pretty 1.43.0
tag 1.43.0
Tagger: Atieno <pnjira@wikimedia.org>
Date:   Tue Jul 29 18:42:10 2025 +0300

Prep 1.43.0

Bug: T372295
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE4FnANOekMFg8JS9KqPc0JG1ztYYFAmiI6+8ACgkQqPc0JG1z
tYaAlBAAqRM7v3vi6+vwraOca+KgexHxIkdxk+rzDDtQ1cNfkQDqYNCDbRm+Q+YF
zTHMAtz5mWa4U/FZEBdcziOYUszmzC6NvGlRbxt8C+0LvoE1hzlyG1qTdkwcRJRe
rgkkVTqWmnJJV5+odxNlJUZm7Esq03xTbNSo0NqzaM3rvvbU2YufXcTmwUyR/Cbc
3j1867fdnKrJVYIZHWfy631JBITy3a7vnaXOHoagUP0nWBOfKB3vo9903RyQs4jx
KmLeljDYtJBnMRFj0wHmgxo9IFDFJ0/c3Vmm+o/bUAkr5K0WM4anYHAVNx9R9NvC
SdvoGyL1lxgbI6MuGI7a9u0U5AtdXmtBxzPBuG94H6DjWO7HSgPthRKzYUITwqQF
0DPq1Sxn6v7dT85vSDV2oCjW7gbB2EwSQ0hdbVXnyIQ9JmC1vhJxQMlXcRH5GcXI
UV9u5JGivgBLHHiFLREoBFLtGRyZL7huscIzPRfLVkobddiY4tU1tDWmO+/Ye4Ro
9FqUxBC6+W6KesqFgYLHZ5ypr8GtvQfZBxmwbBMiSHF2jmCeh8QbybS9/zPZJAfm
cPhSW1kKMyQAtOzY2FngCVGOzAurlBBDdwqzgQJ69uA8rkXev8/r39tS4FOx/YzM
GH8n+jNfI4GmKwpHSUUVGVuT0cjluzOwWRAth8QcUl9r4IiVbOc=
=MJDg
-----END PGP SIGNATURE-----

commit 8216997ffcc956a610635f07044fb9a3b5dda9d9 (tag: 1.43.0)
Author: Atieno <pnjira@wikimedia.org>
Date:   Fri Dec 20 17:36:14 2024 +0300

    Prep 1.43.0

    Bug: T372295
    Change-Id: I47c8d47e8a098faba63b7d16e9ccd0362fb17d27

I still have the original tag in my local clone:

tag 1.43.0
Tagger: Atieno <pnjira@wikimedia.org>
Date:   Fri Dec 20 21:55:00 2024 +0300

Tagging 1.43.0

commit 8216997ffcc956a610635f07044fb9a3b5dda9d9 (tag: 1.43.0)
Author: Atieno <pnjira@wikimedia.org>
Date:   Fri Dec 20 17:36:14 2024 +0300

    Prep 1.43.0
    
    Bug: T372295
    Change-Id: I47c8d47e8a098faba63b7d16e9ccd0362fb17d27

On gerrit.wikimedia.org, this tag was replaced earlier today, thus creating a conflict as I can't pull this down, or if I did, can't push it to other remotes that replicate mediawiki/core.

https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/refs/tags/1.43.0

tag 1.43.0
Tagger: Atieno <pnjira@wikimedia.org>
Date: Tue Jul 29 18:42:10 2025 +0300

Prep 1.43.0

Bug: T372295

commit 8216997ffcc956a610635f07044fb9a3b5dda9d9
tree 2122722908b69605efe72926aec5eb912f9b7924
Author: Atieno <pnjira@wikimedia.org>
Date: Fri Dec 20 17:36:14 2024 +0300

    Prep 1.43.0
    
    Bug: T372295
    Change-Id: I47c8d47e8a098faba63b7d16e9ccd0362fb17d27

Old tags without GPG signatures:

$ git rev-parse 1.43.0-rc.0
25990d47740fcdce8e37abad94745a0d204b0e3f
$ git rev-parse 1.43.0
af3f8f9f9f3641686412788fe088697c306e5bd1

New tags with GPG signatures:

$ git rev-parse 1.43.0-rc.0
fa8ebba6ec1c397646716ecf119bfd0a4886bd2d
$ git rev-parse 1.43.0
c7b6289cb4c8903f68f1f495d97273d8b15f7155

hrm, so, tags are never meant to update (hence why fetching updated tags will by default reject the tags unless you fetch with --force or do a local git tag -d)

The options to fix this are outlined on https://git-scm.com/docs/git-tag#_on_re_tagging

I think the options are:

  1. revert the tagging and re-force-push and add new, incremental tags for whatever we wanted to update and announce that
  2. tell everyone to update their tags (and manually deal with fallout for anything that automatically pulls mediawiki like beta)

Neither option is super appealing. There's a potentially long tail to option 2.

I've chatted with @Atieno. The reason for the update was to add the missing GPG signature.

Both the original and the new tag point to the same git commit 8216997ffcc956a610635f07044fb9a3b5dda9d9, which I verified indeed. So there is no other tag, update, or announcement needed.

The prompt for doing it now, was creation of a tarball diff for 1.43.0-rc.0, which hadn't been done yet until now, and that process led to a "tag not signed error", thus realizing it hasn't been signed.

She did not use --force or --all, but rather deleted the individual tag with git push origin :1.43.0 and then re-created it with git push origin tag 1.43.0.

She asked me to re-push the original tags, as I still have them locally, which I've now done.

root@deployment-deploy04:/srv/mediawiki-staging/php-master# sudo -u jenkins-deploy git fetch --tags --jobs 2 --no-recurse-submodules origin master
From https://gerrit.wikimedia.org/r/mediawiki/core
 * branch                    master      -> FETCH_HEAD
 ! [rejected]                1.43.0      -> 1.43.0  (would clobber existing tag)
 ! [rejected]                1.43.0-rc.0 -> 1.43.0-rc.0  (would clobber existing tag)
root@deployment-deploy04:/srv/mediawiki-staging/php-master# git rev-parse 1.43.0
c7b6289cb4c8903f68f1f495d97273d8b15f7155
root@deployment-deploy04:/srv/mediawiki-staging/php-master# git rev-parse 1.43.0-rc.0
fa8ebba6ec1c397646716ecf119bfd0a4886bd2d
root@deployment-deploy04:/srv/mediawiki-staging/php-master# sudo -u jenkins-deploy git fetch --tags --jobs 2 --no-recurse-submodules --force origin master
From https://gerrit.wikimedia.org/r/mediawiki/core
 * branch                    master      -> FETCH_HEAD
 t [tag update]              1.43.0      -> 1.43.0
 t [tag update]              1.43.0-rc.0 -> 1.43.0-rc.0

Mentioned in SAL (#wikimedia-releng) [2025-07-29T17:11:01Z] <bd808> cd /srv/mediawiki-staging/php-master && sudo -u jenkins-deploy git fetch --tags --jobs 2 --no-recurse-submodules --force origin master on deployment-deploy04.deployment-prep.eqiad1.wikimedia.cloud a second time (T400729)

Assigning to @Krinkle. I will leave it to him and @Atieno to decide if this is ready to close or if an email should go out to wikitech-l explaining what happened first. This probably qualifies @Atieno for an "I broke Wikipedia..." sticker too.

Krinkle reassigned this task from Krinkle to Atieno.