OTS Branching Strategy¶
This document describes the branching strategy used for OTS across multiple repositories, including branch protection, release flow, and deployment URLs.
Overview¶
OTS follows a strict standard so that common logic lives in the cua-gym-utils package. A standardized "gym scope" object is used within each gym, with further standardizations planned. Because we maintain multiple repositories, keeping this consistent is challenging. Branch protection is used to safeguard key branches and control who can merge into them.
Branch Protection¶
| Branch | Protection | Who can merge |
|---|---|---|
ots |
Protected | OTS Reviewers |
ots_release |
Protected | OTS Reviewers |
ots_dev |
None | All developers |
Extending Merge Rights
As more team members become familiar with OTS, merge rights can be extended. All feature and bugfix work should be merged into ots_dev, which has no protection in place.
Release Flow¶
1. Day-to-day Development¶
Merge all changes into ots_dev. QAs are expected to test ots_dev regularly to catch bugs early.
2. Pre-release¶
Before a release, ots_dev is merged into ots_release. QA then runs a full test cycle on ots_release.
3. Release¶
When ots_release is stable, it is merged into ots. The ots branch has the same protection as ots_release.
4. Bugs Found During Release QA¶
Important
If bugs are found on ots_release during the release QA round, fix them directly on ots_release (hotfix). Do not merge the fix into ots_dev first, because that could pull in other ots_dev changes when ots_dev is merged again into ots_release, introducing unplanned changes for that release.
Deployed URLs¶
All gym URLs across every environment are maintained in a single sheet:
New Gyms
A dedicated domain can be set up for new gyms as needed. The sheet is kept up to date as new gyms are added.
ots_release (Release QA)¶
Replace ots-dev with ots-release in the URLs above to get the ots_release deployments.
ots (Production)¶
The ots branch has two deployments:
- App: Replace
ots-devwithappin the URLs above (e.g.https://app.spothub.rlgym.turing.com/). - Lite: Replace
ots-devwithlitein the URLs above (e.g.https://lite.spothub.rlgym.turing.com/).
Lite Version
The lite version shows only 5 prompts on the /verify_raw page. It is the sample version shared with potential customers without exposing all prompts.
Quick Reference¶
| Environment | URL prefix | Branch | Use case |
|---|---|---|---|
| Development | ots-dev |
ots_dev |
Day-to-day work, early QA |
| Release QA | ots-release |
ots_release |
Pre-release testing |
| Production | app |
ots |
Full app |
| Demo/Sample | lite |
ots |
Customer demos (5 prompts) |