main → tagsA release tags the newest commit whose end-to-end tests passed. It starts as soon as the previous rollout finished, Mon–Fri 08:00–18:00, not after 13:00 on Fridays. PRs tagged write path wait for approval.
stagingRuns every build of main, 10 min after merges settle. End-to-end tests and manual QA happen here. Time on staging is not a check by itself.
productionNew version first at 0 %: synthetic tests hit it through the version override header. Then 10 → 30 → 50 → 100 % with automatic rollback.
hostawayMoves once a week to a tag ≥ 24 h old on production with no incident since. Changelog to Hostaway's developers and Frank about 2 days ahead.