Release Process
This document outlines how Tupynambalucas manages versioning, package releases, changelog generation, and breaking changes across monorepo workspaces.
Semantic Versioning
All workspace libraries, APIs, and container services follow Semantic Versioning (SemVer):
- MAJOR (
x.0.0): Introduced on breaking architectural shifts, public API deprecations, or backwards-incompatible schemas. - MINOR (
0.x.0): Introduced on new features, additional API endpoints, or backwards-compatible functionality additions. - PATCH (
0.0.x): Introduced on bug fixes, security patches, dependency updates, and internal performance optimizations.
Changesets Workflow
We use @changesets/cli to track and automate package version bumps:
- Declare Changes: When introducing user-facing or cross-package changes, generate a changeset:
pnpm version:changeset
- Select Packages & Bump Types: Specify whether packages require
patch,minor, ormajorversion bumps. - Automated Versioning: During release cycles, Changesets consumes declared changelog entries, bumps
package.jsonmanifests, and generates release notes:pnpm version:bump
Automated Deployment Pipelines
GitHub Actions workflows automatically build, package, and deploy artifacts upon merge into release branches:
- Documentation: Built and deployed via Cloudflare Pages or Dockerized portal services.
- Microservices: Containerized using Podman/Docker and deployed to target Kubernetes clusters via Skaffold and Helm manifests.