mirror of
https://github.com/coollabsio/coolify.git
synced 2026-08-24 02:24:11 -05:00
Replace generic staging builds with traceable next images and reviewed RC releases.
3.0 KiB
3.0 KiB
Coolify Release Guide
Branches
| Branch | Purpose |
|---|---|
main |
Latest production source |
next |
Feature integration and RC releases |
feature/* |
New features based on and merged into next |
hotfix/X.Y.Z |
Production fixes based on main |
Release workflows never edit or commit versions. Stable versions come from config/constants.php; RC versions come from coolify.nightly.version in versions.json and other/nightly/versions.json.
Where changes go
- Fixes, security updates, and small improvements target
main. - New features and larger changes target
next. - Merge
mainintonextregularly so every production fix is included in the next release. - Do not merge
nextintomainuntil an RC is approved for a stable release.
Feature and RC flow
feature/* → next → RC
- Merge feature branches into
next. - Set
coolify.nightly.versionin both version files to the intended RC, such as4.4-rc.1. - Regular
nextbuilds publishsha-<short-sha>,4.4-rc.1.<short-sha>, and the movingnexttag. They never publish the exact4.4-rc.1tag. - Create a reviewed draft GitHub Release named
v4.4-rc.1and mark it as a prerelease. - Run Release Coolify RC manually from
nextand enterv4.4-rc.1. - The workflow validates the draft and configured nightly version, builds the exact RC, publishes
4.4-rc.1, updatesnext, and publishes the draft prerelease. - Advance
coolify.nightly.versionto the next intended RC version.
Stable release flow
next → main → stable release
- Temporarily stop merging features into
next. - Change the version on
nextfrom the approved RC to the stable version, such as4.4.0. - Merge
nextintomain. - Create a reviewed draft GitHub Release named
v4.4.0. - Run the stable release workflow from
main. - The workflow rebuilds the exact stable version, publishes
4.4.0andlatest, then publishes the draft. - Update the CDN only after the release is approved.
- Advance
nextto the next development version.
Hotfix flow
main → hotfix/X.Y.Z → main → next
- Create
hotfix/X.Y.Zfrommainwhen a patch needs an integration branch. A single fix may use a normal branch frommaininstead. - Set the intended patch version.
- Implement and test the fix. SHA images report
X.Y.Z-dev.<short-sha>. - Merge the fix into
main. - Create a reviewed draft GitHub Release named
vX.Y.Z. - Run the stable release workflow from
main. - Merge
mainintonext, resolve the version in favor of the next intended RC, and delete the hotfix branch if one was used. - Update the CDN only after the release is approved.
Image tags
| Tag | Meaning |
|---|---|
latest |
Latest stable release |
next |
Latest successful next build |
X.Y.Z |
Exact stable release |
X.Y-rc.N |
Exact RC release |
sha-<commit> |
Exact commit build |
Git tags use the v prefix, such as v4.4.0. Docker image tags do not.