Gestión de Releases (Versión Completa)
Controla el ciclo de vida de las versiones del plugin, garantizando que cada entrega cumpla con los estándares del repositorio de QGIS y el proyecto.
Cuándo usar este skill
- •Al finalizar una fase de desarrollo y preparar una nueva versión.
- •Al actualizar
metadata.txtopyproject.toml. - •Al generar notas de versión o actualizar el changelog.
- •Al usar el workflow
/release-plugin.
Grado de Libertad
- •Estricto: El proceso de 5 fases y los requisitos de puntuación de calidad son innegociables.
Workflow Detallado
Fase 1: Calidad y Preparación
- •Análisis de Calidad:
bash
uv run qgis-analyzer analyze . -o analysis_results
- •Validar: Score > 25, sin violaciones críticas (CC > 20), sin imports legacy de PyQt5.
- •Actualizar Badges: Reflejar métricas en
README.md.
Fase 2: Versionado y Documentación
- •Sincronización: Actualizar
metadata.txt(incluyendo changelog),pyproject.tomlyREADME.md. - •Reglas Semver:
- •MAJOR (X): Cambios incompatibles.
- •MINOR (Y): Nuevas funcionalidades.
- •PATCH (Z): Correcciones.
- •Notas de Versión: Generar en
docs/releases/RELEASE_NOTES_vX.Y.Z.mdusando la plantilla estándar.
Fase 3: Verificación Técnica
- •Lograr 361+ tests pasando.
- •Ejecutar
make docker-testpara entorno aislado. - •Actualizar
AI_CONTEXT.mdvíauv run ai-ctx analyze.
Fase 4: Git y Etiquetado
- •Commit de release:
chore(release): prepare vX.Y.Z. - •Etiqueta:
git tag -a vX.Y.Z -m "Release vX.Y.Z". - •Push:
git push origin main --tags.
Fase 5: Empaquetado y Distribución
- •Build:
make package VERSION=main. - •Validar ZIP en
dist/: Sin__pycache__, sin archivos de tests. - •Carga: Subir a plugins.qgis.org y crear draft en GitHub.
Instrucciones y Reglas
Detalle de Archivos Críticos
- •metadata.txt: Debe contener
version,qgisMinimumVersiony elchangelogformateado. - •pyproject.toml: El campo
versiondebe coincidir exactamente.
Plantilla de Release Notes
markdown
# Release vX.Y.Z - [Title] Highlights: - **feat**: ... - **fix**: ... Published Artifacts: `sec_interp.X.Y.Z.zip`
Checklist de Calidad
- • ¿El Quality Score es superior a 25/100?
- • ¿Se han actualizado todas las referencias de versión?
- • ¿El archivo ZIP ha sido verificado (sin basura técnica)?
- • ¿Se han seguido las reglas de Git Tagging?
- • ¿Los 361+ tests pasaron satisfactoriamente?