fix(ci): improve versioning and error handling

Addresses remaining high-priority code review feedback:

VERSIONING SCHEME FIXES:
- Helm chart: Changed from pep440 to semver (correct for Helm)
- Astrolabe: Changed from pep440 to semver (correct for Nextcloud apps)
- MCP server: Remains pep440 (correct for Python packages)

Helm charts must use semantic versioning per Helm specification.
Nextcloud apps use semantic versioning in info.xml and package.json.

ENHANCED ERROR HANDLING IN BUMP SCRIPTS:
All three bump scripts now include:
- Comprehensive validation checks
  * Tool availability (uv)
  * Directory structure (must run from repo root)
  * Required files exist (Chart.yaml, info.xml, package.json)
- Better error messages
  * Stderr output for errors
  * Captured commitizen output on failure
  * Common failure causes listed
- Success confirmation
  * Clear indication of what was updated
  * Next steps guidance (git push --follow-tags)
- Robust shell options (set -euo pipefail)

Scripts now provide helpful guidance when:
- No conventional commits found
- No commits with required scope
- Git working directory not clean
- Required dependencies missing
This commit is contained in:
Chris Coutinho
2025-12-19 19:38:24 +01:00
parent 2f3a3e0be4
commit e2e0ffce44
5 changed files with 122 additions and 23 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
name = "cz_conventional_commits"
version = "0.1.0"
tag_format = "astrolabe-v$version"
version_scheme = "pep440"
version_scheme = "semver"
update_changelog_on_bump = true
major_version_zero = true