This guide documents the steps to release a new version of TensorZero.
You can inspect the Git SHA used to build a particular image tag with:
docker image inspect tensorzero/ui:latest | jq '.[0].Config.Labels["org.opencontainers.image.revision"]'
TensorZero follows CalVer for versioning.
The format is YYYY.MM.PATCH (e.g. 2025.01.0, 2025.01.1).
Important
Make sure to update every instance of the version in the codebase.
The version is referenced in multiple places, including the client's pyproject.toml and the gateway's status.rs.
The Python client is published to PyPI via GitHub Actions automatically when a new release is made.
Before building the Docker container for the first time, you need to set up your container builder:
docker buildx create \
--name container-builder \
--driver docker-container \
--use \
--bootstrapEvery time you want to build the Docker container, you need to run from the root of the repository:
DOCKER_BUILDKIT=1 docker buildx build \
--platform linux/amd64,linux/arm64 \
-t tensorzero/gateway:latest \
-t tensorzero/gateway:XXXX.XX.X \
-f gateway/Dockerfile \
--attest type=provenance,mode=max \
--attest type=sbom \
--push \
.Important
Make sure to replace the XXXX.XX.X placeholder with the actual version of the Docker container you are building.
Before building the Docker container for the first time, you need to set up your container builder:
docker buildx create \
--name container-builder \
--driver docker-container \
--use \
--bootstrapEvery time you want to build the Docker container, you need to run from the root of the repository:
DOCKER_BUILDKIT=1 docker buildx build \
--platform linux/amd64,linux/arm64 \
-t tensorzero/ui:latest \
-t tensorzero/ui:XXXX.XX.X \
-f ui/Dockerfile \
--attest type=provenance,mode=max \
--attest type=sbom \
--push \
.Important
Make sure to replace the XXXX.XX.X placeholder with the actual version of the Docker container you are building.
Before building the Docker container for the first time, you need to set up your container builder:
docker buildx create \
--name container-builder \
--driver docker-container \
--use \
--bootstrapEvery time you want to build the Docker container, you need to run from the root of the repository:
DOCKER_BUILDKIT=1 docker buildx build \
--platform linux/amd64,linux/arm64 \
-t tensorzero/evaluations:latest \
-t tensorzero/evaluations:XXXX.XX.X \
-f evaluations/Dockerfile \
--attest type=provenance,mode=max \
--attest type=sbom \
--push \
.Important
Make sure to replace the XXXX.XX.X placeholder with the actual version of the Docker container you are building.
Run the following command and create a pull request from the new branch into docs:
git fetch origin
git switch -c sync-docs-$(date +%Y%m%d-%H%M) origin/main
git push -u origin HEADMake sure to tag a release in the GitHub repository.