mirror of
https://github.com/tiennm99/coolify.git
synced 2026-08-19 00:23:30 +00:00
Route production builds, releases, and changelog generation through `main`, update contribution guidance for main/next branch targets, and cover the branch policy in workflow tests.
2.7 KiB
2.7 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. Set the intended version in config/constants.php before running a release workflow.
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 the intended RC version on
next, such as4.4-rc.1. - Regular builds publish
sha-<commit>,4.4-rc.1.<short-sha>, and the movingnexttag. - Create a reviewed draft GitHub Release named
v4.4-rc.1and mark it as a prerelease. - Run the RC workflow from
next. It publishes4.4-rc.1, updatesnext, and publishes the draft. - Advance
nextto 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.