Project:Wiki/Updates/1.39.x
From Gentoo Wiki
< Project:Wiki | Updates
Jump to:navigation
Jump to:search
Stable LTS MediaWiki version is presently v1.39.x, which is end of life November 2025.
Testing
- Use testing VM as primary playground and change staging area for testing unstable releases.
- Use wikitest.g.o site as staging area for deploying MediaWiki stable releases.
- Check system requirements of each release and compare against what the servers have running.
- Check present PHP version: php --version
- Update PHP to latest stable release (if necessary). It may be necessary to create docs on Infra wiki for this task, since they may not exist.
Pre-update checklist
Download, verify, decompress update file(s)
- Download the latest release (or the appropriate patch) and associated signature to the work directory.
- Update MediaWiki release GPG signing keys: gpg --fetch-keys "https://www.mediawiki.org/keys/keys.txt"
- Download full release and signature:
- Release: wget https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.2.tar.gz
- Release signature example: https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.2.tar.gz.sig
- Check release signature: gpg --verify mediawiki-1.38.2.tar.gz.sig mediawiki-1.38.2.tar.gz
- Decompress tarball: tar --extract --gzip --preserve-permissions --xattrs-include='*.*' --acls --numeric-owner --verbose --file mediawiki-1.38.2.tar.gz --directory /output/location
- For LTS releases, download patch and signature:
- Patch: wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.7.patch.gz
- Patch signature: wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.7.patch.gz.sig
- Check patch signature: gpg --verify mediawiki-1.35.7.patch.gz.sig mediawiki-1.35.7.patch.gz
- Decompress patch: gunzip mediawiki-1.35.7.patch.gz
Notifications
- Notify the community that an update is occurring, add the follow text to MediaWiki:Sitenotice.
- In progress
Site updates are underway! The wiki will be marked read-only until maintenance is finished. See the news on [[Main_Page#News|the front page]] for details and [https://infra-status.gentoo.org our status site] for details.
- Notification of completion should be left up for a period of UAT (one or two weeks):
Site updates have been completed! Please report any issues to [https://bugs.gentoo.org Bugzilla] or [irc://freenode.net/#gentoo-wiki #gentoo-wiki on Freenode]. See the news on [[Main_Page#News|the front page]] for details and [https://infra-status.gentoo.org our status site] for details.
- In progress
Create backups
- Create a database export/backup (SQL and XML) of the current wiki on the database host. See the infrawiki's runbook for more details here.
- Backup current htdocs, copy wiki images to wikitest, then copy wikitest htdocs to updated:
- htdocs: tar --create --preserve-permissions --xz --xattrs-include='*.*' --acls --verbose --file gentoowiki.tar.xz --directory /path/to/directory/ .
Clear job queue
Follow upstream's instruction to clear the job queue:
root #
php maintenance/runJobs.php
Apply Mediawiki base file update(s)
- Apply release:
- TODO
- Apply patch:
- Unzip: gunzip mediawiki-1.35.7.patch.gz
- Dry run: patch -p1 --dry-run -i mediawiki-1.35.7.patch
- Apply the patch: patch -p1 -i mediawiki-1.35.7.patch
- Check Special:Version to see the version has been updated to the same version as the patch.
- Apply database update: php maintenance/update.php
Update extensions
- Update extensions
High-level checklist
Follow upstream's guide, and add the following for Gentoo stuff.
- If updating wiki.g.o: commit notification of planned downtime to infra-status site.
- Add planned outage details under "Maintenance and outage notices" section of infra-status.
- Mark the wiki as read-only during data migration and upgrade:
to LocalSettings.php
- Bring puppet and wiki repositories up to latest revisions.
- Update plugins and extensions via composer:
- Run composer update --no-dev
- Run php maintenance/update.php to update the database schema.
- Manual plugin updates:
- Research updates from upstream locations.
- Potentially upgrade Tyrian's embedded Bootstrap to latest release (v4.x).
- Research updates from upstream locations.
- Other manual updates:
- Update copyright year to latest year.
- Ensure Gentoo_Wiki is set as NS_PROJECT in htdocs/includes/title/NamespaceInfo.php - This fixes some bugs that do not read the local config
- Once satisfied, release read-only or do a rollback.
Post-update checklist
Upon success update:
- Pending...
Rollback checklist
Upstream's instructions are found here.
In the event of update issues, here are procedures to follow:
- Halt edits via marking thee database read-only.
- Move target back to old database.
- Move old script files back.
- Revert puppet changes and wiki repository checkouts.
- Update/modify infra-status site with details as necessary.
- Remove notification.
- Unlock read-only status on wiki.