Project:Wiki/Updates/1.38.2

Testing

 * Use wikitest.g.o site as staging area for MediaWiki stable releases.
 * Check system requirements for release.
 * Check present version:
 * Update PHP to latest stable release (if necessary). Create docs on Infra wiki for this task.

Download, verify, decompress update file(s)

 * 1) Download the latest release (or the appropriate patch) and associated signature to the  directory.
 * 2) * Update MediaWiki release GPG signing keys:
 * 3) * Download full release and signature:
 * 4) ** Release:
 * 5) ** Release signature example:
 * 6) ** Check release signature:
 * 7) ** Decompress tarball: {{c|
 * 8) * For LTS releases, download patch and signature:
 * 9) ** Patch: {{c|wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.7.patch.gz}}
 * 10) ** Patch signature: {{c|wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.7.patch.gz.sig}}
 * 11) ** Check patch signature: {{c|gpg --verify mediawiki-1.35.7.patch.gz.sig mediawiki-1.35.7.patch.gz}}
 * 12) ** Decompress patch: {{c|gunzip mediawiki-1.35.7.patch.gz}}

Create backups

 * 1) Create a database export/backup (SQL and XML) of the current wiki on the database cluster. See the infrawiki's runbook for more details here.
 * 2) Backup current htdocs, copy wiki images to wikitest, then copy wikitest htdocs to updated:
 * 3) * {{c|

Apply update(s)

 * 1) Apply release:
 * 2) * TODO
 * 3) Apply patch:
 * 4) * Apply the patch:
 * 5) ** Check Special:Version to see the version has been updated to the same version as the patch.
 * 6) * Apply database update:
 * 1) * Apply database update:

High-level checklist
Follow upstream's guide, and add the following for Gentoo stuff.


 * 1) If updating wiki.g.o: commit notification of planned downtime to infra-status site.
 * 2) * Add planned outage details under "Maintenance and outage notices" section of infra-status.
 * 3) Mark the wiki as read-only during data migration and upgrade:  to


 * 1) Bring puppet and wiki repositories up to latest revisions.
 * 2) Update plugins and extensions via composer:
 * 3) * Run
 * 4) * Run to update the schema(s).
 * 5) Manual plugin updates:
 * 6) * Research updates from upstream locations.
 * 7) *#* Potentially upgrade Tyrian's embedded Bootstrap to latest release (v4.x).
 * 8) Other manual updates:
 * 9) * Update copyright year to latest year.
 * 10) Once satisfied, release read-only or do a rollback.

Post-update checklist
Upon success update:


 * 1) Pending...

Rollback checklist
In the event of update issues, here are procedures to follow:


 * 1) Halt edits via marking thee database read-only.
 * 2) Move target back to old database.
 * 3) Move old script files back.
 * 4) Revert puppet changes and wiki repository checkouts.
 * 5) Update/modify infra-status site with details as necessary.
 * 6) * Remove notification.
 * 7) Unlock read-only status on wiki.

Additional info

 * https://www.mediawiki.org/wiki/Special:ExtensionDistributor