| name | release-management |
| description | Standards for the release process of the qgis-plugin-analyzer Python package. |
| trigger | when preparing releases, updating versions, or using the /release-plugin workflow |
Release Management (Package Version)
Controls the version lifecycle of the qgis-plugin-analyzer package, ensuring quality and consistency in every delivery to PyPI/GitHub.
When to use this skill
- At the end of a sprint or bug fix cycle.
- When updating
pyproject.toml for a new version.
- When generating version notes or updating the changelog.
- When using the
/release-plugin workflow.
Freedom of Action
- Strict: Compliance with Semantic Versioning and quality checks is mandatory.
Detailed Workflow
Phase 1: Quality and Preparation
- Quality Analysis:
uv run qgis-analyzer analyze . -o analysis_results --profile release
- Validate: Score > Acceptable (defined in badges), test coverage > 80%.
- Linting & Type Checking:
uv run ruff check .
uv run mypy .
Phase 2: Versioning
- Synchronization: Update
version in pyproject.toml.
- Changelog: Add entry in
CHANGELOG.md following the Keep a Changelog format.
- Semver Rules:
- MAJOR (X): Incompatible changes in CLI API/Library.
- MINOR (Y): New analysis rules or features.
- PATCH (Z): Bug fixes.
Phase 3: Technical Verification
- Full Tests:
uv run pytest
(Optional: integration tests with QGIS if applicable)
Phase 4: Git and Tagging
- Release commit:
chore(release): prepare vX.Y.Z.
- Tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z".
- Push:
git push origin main --tags.
Phase 5: Packaging and Distribution
- Clean:
rm -rf dist/ build/
- Build:
uv run python -m build
- Validation: Verify content of
.tar.gz and .whl using twine check.
- Release: Create GitHub release attaching the artifacts. (PyPI publication is typically handled via CI).
Quality Checklist