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.
26 lines
772 B
TOML
26 lines
772 B
TOML
[tool.commitizen]
|
|
name = "cz_conventional_commits"
|
|
version = "0.1.0"
|
|
tag_format = "astrolabe-v$version"
|
|
version_scheme = "pep440"
|
|
update_changelog_on_bump = true
|
|
major_version_zero = true
|
|
|
|
# Update Astrolabe-specific files only
|
|
version_files = [
|
|
"appinfo/info.xml:version",
|
|
"package.json:version"
|
|
]
|
|
|
|
# Ignore tags from other components
|
|
ignored_tag_formats = [
|
|
"v*", # MCP server tags
|
|
"nextcloud-mcp-server-*", # Helm chart tags
|
|
]
|
|
|
|
# Filter commits by scope
|
|
[tool.commitizen.customize]
|
|
changelog_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)\\(astrolabe\\)(!)?:"
|
|
schema_pattern = "^(feat|fix|docs|refactor|perf|test|build|ci|chore)\\(astrolabe\\)(!)?:\\s.+"
|
|
message_template = "{{change_type}}(astrolabe): {{message}}"
|