How to make package releases#
kitconcept packages use two release workflows, depending on the repository type:
Projects with backend and frontend in the same repository use
repoplone.Frontend-only add-ons use
release-itdirectly, usually throughmake release.
This page documents both cases.
Versioning#
The releases follow semantic versioning.
Requisites#
To start a release, you must fulfill the following requirements:
Have permission to push tags and release from the repository
Have permission to publish to the required package registry:
PyPI for Python packages
the
@kitconceptorganization on npm for frontend packages
Have a
GITHUB_TOKENwith permissions to create GitHub releasesInstall the tooling required by the repository:
uvforrepoplone-based repositoriespnpmfor frontend-only add-ons
To request these permissions, contact the maintainers of this repository.
GitHub personal token#
The release tooling creates and publishes a GitHub Release for each version.
Export GITHUB_TOKEN in your shell session before starting the release:
export GITHUB_TOKEN="my_looooong_github_token"
See the release-it documentation for GitHub releases and the GitHub documentation on About releases.
Projects using repoplone#
Use this workflow for repositories that contain both backend and frontend packages and define them in repository.toml.
These repositories release the backend and frontend packages together with the same version.
Install uv#
repoplone is executed through uvx, which is provided by uv.
Install uv and ensure uvx is available on your $PATH:
curl -LsSf https://astral.sh/uv/install.sh | sh
Release command#
From the repository root, run:
uvx repoplone release
Follow the prompts to select the release type. The tool handles version bumping, changelog generation, tagging, and publishing the configured backend and frontend packages.
Frontend-only add-ons using release-it#
Use this workflow for repositories that only publish a frontend add-on package.
In these repositories, the release process is usually wrapped by a Makefile target that calls release-it directly.
Release command#
From the repository root, run:
make release
Follow the prompts to select the release type. The tool handles version bumping, changelog generation, tagging, GitHub release creation, and npm publishing according to the repository configuration.