Jump to content

Portal:Toolforge/Admin/Pywikibot image

From Wikitech

This page documents the custom Pywikibot build service image.

Updating the image

This needs to happen every time there is a new Pywikibot release.

  • Add the gerrit repo as gerrit remote, merge its stable branch into gitlab and then push:
    $ git remote add gerrit https://gerrit.wikimedia.org/r/pywikibot/core
    $ git fetch -v gerrit
    $ git merge --ff-only gerrit/stable
    $ git push origin stable
    
  • Checkout the toolforge branch, and merge the stable branch to the toolforge branch, this will create a merge commit
    $ git checkout toolforge
    $ git reset --hard origin/toolforge
    $ git merge stable
    
  • Push toolforge branch to gitlab
    $ git push origin toolforge
    
  • Start a build (note that the image name is not the default)
    tools.pywikibot@tools-sgebastion-11:~$ toolforge build start -i pywikibot-scripts-stable --ref toolforge https://gitlab.wikimedia.org/toolforge-repos/pywikibot-buildservice
    


Doing a test

You can do a test using the tool wikitech-double-redirect-bot, that is setup to authenticate on wikitech:

tools.wikitech-double-redirect-bot@tools-bastion-12:~$ toolforge jobs run --image tool-pywikibot/pywikibot-scripts-stable:latest --command "pwb -family:wikitech -lang:en redirect double -always" fix-double-redirects

tools.wikitech-double-redirect-bot@tools-bastion-12:~$ toolforge jobs logs fix-double-redirects -f
2025-06-19T08:12:29+00:00 [fix-double-redirects-lxd78] [job] family and mylang are not set.
2025-06-19T08:12:29+00:00 [fix-double-redirects-lxd78] [job] Defaulting to family='wikipedia' and mylang='test'.
2025-06-19T08:12:32+00:00 [fix-double-redirects-lxd78] [job] Retrieving double redirect special page...
2025-06-19T08:12:33+00:00 [fix-double-redirects-lxd78] [job] Working on 'Jobs'
2025-06-19T08:12:33+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Jobs Service]].
2025-06-19T08:12:33+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Running jobs]].
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] @@ -1 +1 @@ ***
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] - #REDIRECT [[Help:Toolforge/Jobs Service]] ***
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] + #REDIRECT [[Help:Toolforge/Running jobs]] ***
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] 
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Edit summary: Bot: Fixing double redirect from [[Help:Toolforge/Jobs Service]] to [[Help:Toolforge/Running jobs]]
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Working on 'Portal:Toolforge/Admin/Jobs'
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Portal:Toolforge/Admin/Jobs Service]].
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Skipping: Redirect target [[en:Portal:Toolforge/Admin/Jobs Service]] is not a  redirect.
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Working on 'Portal:Toolforge/Admin/Kubernetes/Jobs framework'
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Sleeping for 7.2 seconds, 2025-06-19 08:12:34
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Portal:Toolforge/Admin/Jobs Service]].
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Skipping: Redirect target [[en:Portal:Toolforge/Admin/Jobs Service]] is not a  redirect.
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Working on 'Portal:Toolforge/Admin/Kubernetes/jobs'
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Portal:Toolforge/Admin/Jobs Service]].
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Skipping: Redirect target [[en:Portal:Toolforge/Admin/Jobs Service]] is not a  redirect.
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Working on 'SRE/Data Persistence/Databases/Dashboards'
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:MariaDB/Monitoring]].
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Skipping: Redirect target [[en:MariaDB/Monitoring]] is not a  redirect.
2025-06-19T08:12:34+00:00 [fix-double-redirects-lxd78] [job] Working on 'Toolforge-jobs'
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Jobs Service]].
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Running jobs]].
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] @@ -1 +1 @@ ***
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] - #REDIRECT [[Help:Toolforge/Jobs Service]] ***
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] + #REDIRECT [[Help:Toolforge/Running jobs]] ***
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] 
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] Edit summary: Bot: Fixing double redirect from [[Help:Toolforge/Jobs Service]] to [[Help:Toolforge/Running jobs]]
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] Working on 'Toolforge jobs'
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Jobs Service]].
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Running jobs]].
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] @@ -1 +1 @@ ***
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] - #REDIRECT [[Help:Toolforge/Jobs Service]] ***
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] + #REDIRECT [[Help:Toolforge/Running jobs]] ***
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] 
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] Edit summary: Bot: Fixing double redirect from [[Help:Toolforge/Jobs Service]] to [[Help:Toolforge/Running jobs]]
2025-06-19T08:12:35+00:00 [fix-double-redirects-lxd78] [job] Working on 'Help:Toolforge/Jobs'
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Jobs Service]].
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Running jobs]].
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] @@ -1 +1 @@ ***
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] - #REDIRECT [[Help:Toolforge/Jobs Service]] ***
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] + #REDIRECT [[Help:Toolforge/Running jobs]] ***
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] 
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] Edit summary: Bot: Fixing double redirect from [[Help:Toolforge/Jobs Service]] to [[Help:Toolforge/Running jobs]]
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] Working on 'Help:Toolforge/Jobs-Framework'
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Jobs Service]].
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job]    Links to: [[en:Help:Toolforge/Running jobs]].
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] @@ -1 +1 @@ ***
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] - #REDIRECT [[Help:Toolforge/Jobs Service]] ***
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] + #REDIRECT [[Help:Toolforge/Running jobs]] ***
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] 
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] Edit summary: Bot: Fixing double redirect from [[Help:Toolforge/Jobs Service]] to [[Help:Toolforge/Running jobs]]
2025-06-19T08:12:36+00:00 [fix-double-redirects-lxd78] [job] Waiting for 4 pages to be put. Estimated time remaining: 0:00:40 ***
2025-06-19T08:12:42+00:00 [fix-double-redirects-lxd78] [job] Page [[Jobs]] saved
2025-06-19T08:12:42+00:00 [fix-double-redirects-lxd78] [job] Sleeping for 9.7 seconds, 2025-06-19 08:12:42
2025-06-19T08:12:52+00:00 [fix-double-redirects-lxd78] [job] Page [[Toolforge-jobs]] saved
2025-06-19T08:12:52+00:00 [fix-double-redirects-lxd78] [job] Sleeping for 9.7 seconds, 2025-06-19 08:12:52
2025-06-19T08:13:02+00:00 [fix-double-redirects-lxd78] [job] Page [[Toolforge jobs]] saved
2025-06-19T08:13:02+00:00 [fix-double-redirects-lxd78] [job] Sleeping for 9.8 seconds, 2025-06-19 08:13:02
2025-06-19T08:13:12+00:00 [fix-double-redirects-lxd78] [job] Page [[Help:Toolforge/Jobs]] saved
2025-06-19T08:13:12+00:00 [fix-double-redirects-lxd78] [job] Sleeping for 9.7 seconds, 2025-06-19 08:13:12
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] Page [[Help:Toolforge/Jobs-Framework]] saved
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] 
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] 9 read operations
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] 5 write operations
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] Execution time: 50 seconds
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] Read operation time: 0.4 seconds
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] Write operation time: 10.0 seconds
2025-06-19T08:13:22+00:00 [fix-double-redirects-lxd78] [job] Script terminated successfully.

See also