Skip to main content

Version Management

The project includes a version management script at scripts/version.sh with the following commands:

# Get current version
./scripts/version.sh get

# Check if current version is a dev version
./scripts/version.sh is-dev

# Get next dev version (e.g., 1.2.0 -> 1.3.0-dev)
./scripts/version.sh bump-dev

CI/CD Workflows

The project uses reusable GitHub Actions workflows for consistent building and releasing:

Build Workflows

  • Located in .github/workflows/build-{backend,frontend}.yml
  • Reusable workflows for building Docker images
  • Support both development and release builds
  • Handle image tagging and pushing to GitHub Container Registry
  • Used by both dev builds and releases

Release Workflow

  • Located in .github/workflows/release.yml
  • Triggers on VERSION file changes in release branches
  • Creates Git tags and GitHub Releases
  • Reuses build workflows for consistent image building
  • Handles version bumping on main after releases

Automated Actions

The following actions happen automatically:

  1. On push to main or build-dev/*:

  2. On merge to release/* branch with VERSION change:

    • Creates Git tag and GitHub Release
    • Triggers build workflows with version tag
    • If previous version was -dev:
      • Creates PR to bump main to next dev version

Version Format

  • Development: X.Y.Z-dev
  • Release: X.Y.Z
  • Bugfix: X.Y.Z+1

Notes

  • Only one active release branch is supported at a time
  • All changes must go through PR review process