Skip to main content

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:

  1. Declare Changes: When introducing user-facing or cross-package changes, generate a changeset:
    pnpm version:changeset
  2. Select Packages & Bump Types: Specify whether packages require patch, minor, or major version bumps.
  3. Automated Versioning: During release cycles, Changesets consumes declared changelog entries, bumps package.json manifests, 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.