Saltar al contenido principal

Actualizar extensiones y desplegar

Esta página describe el proceso para actualizar las versiones de extensiones o skins en el repo de MediaWiki (a la última versión dentro de su release branch) y desplegar MediaWiki (en staging o producción) para que se reflejen dichos cambios. Esto es útil, por ejemplo, si salió un parche de seguridad importante para alguna extensión, o si estamos desarrollando una extensión y la queremos probar en staging.

💡 Release branch se refiere a la rama de la extensión/skin que estamos siguiendo, generalmente será igual a la versión de MediaWiki que ejecutamos (actualmente REL1_39, o para algunas extensiones que no siguen esta convención, se usa la rama master/main). Es decir, en teoría hacer esto no debería dejarnos con una versión incompatible de una extensión/skin, suponiendo que sus desarrolladores utilicen correctamente las ramas.

Verificar actualizaciones

  1. Ingresar al repo de MediaWiki y buscar el issue "Dependency Dashboard" (🔗 link directo).
    Tildar la casilla "Check this box to trigger a request for Renovate to run again on this repository" para forzar un nuevo escaneo de dependencias.

  2. Al ejecutar el escaneo, se creará un Pull Request por cada extensión o skin que tenga nuevos commits. Los PR los crea el bot Renovate y tienen este aspecto: PR actualizando la extensión Echo

  3. Revisar los commit hash en el repositorio de la extensión para asegurarnos que estamos actualizando al commit correcto. Si todo está bien, se puede mergear el PR.

Crear imagen de Docker y desplegar

Para que se reflejen los cambios en los entornos, necesitamos crear una imagen de Docker con la nueva versión de MediaWiki (que incluye base + extensiones + skins), y desplegarla ya sea a staging o a producción.

Esto se realiza desde el repositorio docker, que contiene el Action para realizar el despliegue.

  1. Dirigirse a la pestaña Actions -> Build and push Docker image -> buscar la opción Run workflow

  2. Nos pedirá seleccionar la rama (branch) que queremos desplegar:

    Selección de rama en el workflow de Docker

    La rama dev realiza un despliegue a staging, y master a producción.

  3. Presionar el botón Run workflow y esperar a que impacte el despliegue. El proceso en total (build + deploy) demora entre 5 y 10 minutos, y se puede seguir el progreso desde los logs de GitHub Actions.

💡 Para poder ejecutar el workflow de despliegue, es necesario tener permisos de escritura en el repo de Docker