Add complete CI/CD pipeline for automated Astrolabe app releases: - GitHub Actions workflow for build, sign, and publish - Makefile for app store package creation - Version synchronization between info.xml and package.json - CHANGELOG.md with v0.1.0 release notes feat: configure commitizen monorepo with independent versioning Enable independent versioning for three components using scope-based commits: - MCP Server (feat(mcp) or unscoped): v* tags, updates pyproject.toml + Chart.yaml:appVersion - Helm Chart (feat(helm)): nextcloud-mcp-server-* tags, updates Chart.yaml:version - Astrolabe App (feat(astrolabe)): astrolabe-v* tags, updates info.xml + package.json Changes: - Add .cz.toml configs for Astrolabe and Helm chart - Update root pyproject.toml with scope filtering and tag ignores - Create bump helper scripts (bump-mcp.sh, bump-helm.sh, bump-astrolabe.sh) - Add CONTRIBUTING.md with version management documentation - Create component-specific changelogs - Configure appVersion/version separation for Helm chart This allows each component to release independently while maintaining proper version tracking and changelog generation.
25 lines
725 B
TOML
25 lines
725 B
TOML
[tool.commitizen]
|
|
name = "cz_conventional_commits"
|
|
version = "0.53.0"
|
|
tag_format = "nextcloud-mcp-server-$version"
|
|
version_scheme = "pep440"
|
|
update_changelog_on_bump = true
|
|
major_version_zero = true
|
|
|
|
# Update chart version only (NOT appVersion)
|
|
version_files = [
|
|
"Chart.yaml:^version:"
|
|
]
|
|
|
|
# Ignore tags from other components
|
|
ignored_tag_formats = [
|
|
"v*", # MCP server tags
|
|
"astrolabe-v*", # Astrolabe tags
|
|
]
|
|
|
|
# Filter commits by scope
|
|
[tool.commitizen.customize]
|
|
changelog_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)\\(helm\\)(!)?:"
|
|
schema_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)\\(helm\\)(!)?:\\s.+"
|
|
message_template = "{{change_type}}(helm): {{message}}"
|