Versioning
OpenGameBuilder uses plain semantic versions:
MAJOR.MINOR.PATCH
No prerelease or build metadata is used for release versions. The v prefix is
used only for Git tags and patch/v* branch names.
Source of truth
The version lives in Directory.Build.props:
<VersionPrefix>1.9.0</VersionPrefix>
Version is derived from VersionPrefix. Do not edit <Version> directly.
Branch policy
mainholds the next standard release version (patch is always0).- After releasing
v1.9.0,mainis bumped to1.10.0.
- After releasing
patch/vX.Y.Zbranches hold the exact version named in the branch.patch/v1.9.1must have<VersionPrefix>1.9.1</VersionPrefix>.
Tags
Release tags have the form vX.Y.Z. They are created exclusively by the
CD Production workflow after a successful production deploy. Do not create
release tags manually.
What counts as a successful release
A release is only successful after, in order:
- Version validation passes
- The release commit builds and tests pass
- The release commit deploys to production
- The production smoke test passes
- The
vX.Y.Ztag is created - The GitHub Release is created
- The follow-up PR (bump or merge-back) is opened
Steps 5–7 happen only when steps 1–4 succeed. This is intentional.