Some checks failed
CMS CI/CD (Theoretical) / Lint Typecheck Tests (push) Failing after 5m34s
CMS CI / Governance Checks (push) Failing after 4m47s
CMS CI/CD (Theoretical) / Build Staging Images (push) Has been skipped
CMS CI / Lint Typecheck Unit E2E (push) Has been skipped
CMS CI/CD (Theoretical) / Build Production Images (push) Has been skipped
CMS CI/CD (Theoretical) / Deploy Staging (Placeholder) (push) Has been skipped
CMS CI/CD (Theoretical) / Deploy Production (Placeholder) (push) Has been skipped
1.5 KiB
1.5 KiB
Versioning Policy
Source Of Truth
- Canonical version: root
package.jsonfieldversion - Tag format:
vX.Y.Z
Tag validation is enforced in CI:
.gitea/scripts/validate-tag-version.sh
SemVer Strategy
major: breaking API/behavior changesminor: backward-compatible featurespatch: backward-compatible fixes
Build Metadata Policy
Use git metadata in runtime display format:
<version>+sha.<short>
Example:
0.1.0+sha.a1b2c3d
Footer Display Plan (Admin + Web)
Planned runtime footer fields:
- app name
- version from root
package.json - commit hash (short)
- environment (
dev|staging|production)
Implementation note:
- inject values at build/deploy time through env vars
- render in shared footer components
CI Version Injection
Release/deploy workflows pass release tag and commit metadata:
.gitea/workflows/release.yml.gitea/workflows/deploy.yml
Required inputs:
- release tag (
vX.Y.Z) - image tag for deployment
Validation Strategy
CI validations:
- tag equals
v${package.json.version} - required checks pass before release builds
Runtime validations (planned):
- smoke tests assert footer version/hash format
- environment-specific deployment checks assert expected image tag
Changelog and Release Publication
- changelog generation command:
bun run changelog:release
- release workflow generates changelog on tag pipeline
- release notes publication remains a dedicated step in CI workflow.