Gestión de Releases (Versión Package)
Controla el ciclo de vida de las versiones del paquete qgis-plugin-analyzer, garantizando calidad y consistencia en cada entrega a PyPI/GitHub.
Cuándo usar este skill
- •Al finalizar un sprint o corrección de bugs.
- •Al actualizar
pyproject.tomlpara una nueva versión. - •Al generar notas de versión o actualizar el changelog.
- •Al usar el workflow
/release-plugin.
Grado de Libertad
- •Estricto: El cumplimiento de Semantic Versioning y los checks de calidad es obligatorio.
Workflow Detallado
Fase 1: Calidad y Preparación
- •Análisis de Calidad:
bash
uv run qgis-analyzer analyze . -o analysis_results --profile release
- •Validar: Score > Aceptable (definido en badges), cobertura de tests > 80%.
- •Linting & Type Checking:
bash
uv run ruff check . uv run mypy .
Fase 2: Versionado
- •Sincronización: Actualizar
versionenpyproject.toml. - •Changelog: Añadir entrada en
CHANGELOG.mdsiguiendo el formato Keep a Changelog. - •Reglas Semver:
- •MAJOR (X): Cambios incompatibles en la API CLI/Librería.
- •MINOR (Y): Nuevas reglas de análisis o features.
- •PATCH (Z): Bug fixes.
Fase 3: Verificación Técnica
- •Tests Completos:
(Opcional: tests de integración con QGIS si aplica)bash
uv run pytest
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
- •Clean:
rm -rf dist/ build/ - •Build:
bash
uv run python -m build
- •Validación: Verificar contenido de
.tar.gzy.whl. - •Release: Crear release en GitHub adjuntando los artefactos. (La publicación a PyPI se suele manejar vía CI).
Checklist de Calidad
- • ¿El análisis estático pasa sin errores críticos?
- • ¿La versión en
pyproject.tomles correcta? - • ¿El
CHANGELOG.mdestá actualizado? - • ¿Los tests pasan localmente?