product:release

Release a product: bump version, create Git tag, publish GitHub Release, publish to PyPI, and push a Docker image to Docker Hub.


Usage

Release the active product:

splent product:release <version>

Release a specific product (override SPLENT_APP):

splent product:release <version> --product <product_name>

Example

splent product:release v1.2.0

Description

This command performs a full product release pipeline:

  1. Updates the product version in pyproject.toml.
  2. Commits and pushes local changes (if needed).
  3. Creates and pushes a Git tag.
  4. Creates a GitHub Release (if GITHUB_TOKEN is set).
  5. Builds and uploads the product package to PyPI.
  6. Builds and pushes Docker images to Docker Hub:
    • <user>/<product>:<version>
    • <user>/<product>:latest

Requirements

Required environment variables:

  • TWINE_USERNAME or PYPI_USERNAME
  • TWINE_PASSWORD or PYPI_PASSWORD
  • DOCKERHUB_USERNAME
  • DOCKERHUB_PASSWORD

Optional:

  • GITHUB_TOKEN (required for automatic GitHub Release)

A Git remote (origin) must be configured for the product repository.