Añadir/eliminar Extensiones y Skins
Esta página describe el proceso para añadir, actualizar y eliminar submódulos de extensiones o skins en el repositorio de MediaWiki. Esto es útil para añadir nuevas extensiones y skins, y para gestionar correctamente su ubicación dentro del repositorio.
Agregar extensions y skins
Para agregar una nueva extensión o skin, en Polandball usamos submódulos, utiliza el siguiente comando. Asegúrate de reemplazar <repo url> con la URL del repositorio de la extensión y Nombre con el nombre de la extensión.
git submodule add -b REL1_39 <repo url> extensions/Nombre
💡 Si la extensión no tiene la rama
REL1_39, utilizamainomasteren su lugar.

Eliminar extensions y skins
Si necesitas eliminar un submódulo porque está en la ubicación incorrecta o ya no es necesario, sigue estos pasos:
-
Eliminar la referencia del submódulo del índice de Git:
git rm --cached mediawiki-extensions-StructuredData -
Eliminar el directorio del submódulo (usando PowerShell):
Remove-Item -Recurse -Force .\mediawiki-extensions-StructuredData -
Hacer commit de los cambios realizados:
git commit -m "Eliminar submódulo mediawiki-extensions-StructuredData"
Implementar extensiones/skins añadidas y desplegar
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.
-
Dirigirse a la pestaña Actions -> Build and push Docker image -> buscar la opción Run workflow.
-
Nos pedirá seleccionar la rama (branch) que queremos desplegar:

- La rama dev realiza un despliegue a staging, y master a producción.
-
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.