Now that tsidp lives outside of the monorepo it requires a versioning and release process that is simple and familiar.
Versioning
- Use semver v2.0.
- While we require
TAILSCALE_USE_WIP_CODE=1, the version will be v0.x.x
- Versions in v0.x.x is for rapid iteration and come with no guarantees of backwards compatibility
- From v1.0.0 onwards the API guarantees backwards compatibility following semver's constraints
Release Process
The release process is based on git tags. When a tag is created and pushed it will trigger automated processes to build and publish artifacts.
- Use git tags to create a new release
- tags always point to a commit in the
main branch
- tagged versions:
- builds a binary release for various GOOS and GOARCH combos: linux (arm64/amd64), darwin (arm64), windows (amd64 - tbd)
- containers built and labeled like:
ghcr.io/tailscale/tsidp:v1.2.3 and ghcr.io/tailscale/tsidp:latest
- untagged versions:
- commits to main will NOT trigger builds of binary archives or containers
- users who wish to use the latest code are expected to build their own local binaries or use
go run ...
Now that tsidp lives outside of the monorepo it requires a versioning and release process that is simple and familiar.
Versioning
TAILSCALE_USE_WIP_CODE=1, the version will be v0.x.xRelease Process
The release process is based on git tags. When a tag is created and pushed it will trigger automated processes to build and publish artifacts.
mainbranchghcr.io/tailscale/tsidp:v1.2.3andghcr.io/tailscale/tsidp:latestgo run ...