Release Flows for a One-Branch Model
One long-lived branch, dev, is the trunk. Work merges there, the trunk stays green, and a release is a tag on that trunk instead of a branch of its own. The artifact describes itself: a container image carries the commit, the version, and the source in its OCI labels, so no flow has to keep a separate deploy record.
The graph below is the whole process for that model. Each tab is one flow: deploy to DEV, normal release, roll back, hotfix from trunk, hotfix from tag. The first tab is the decision tree that routes four situations to one of those five. The same question answers most of them: is the product folder on the trunk the folder that shipped? Hover a dotted term and it explains itself. Inside a flow the stepper and the commit graph move together, so selecting a step shows the commit, tag, and environment it touches.