Skip to content

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:

View All Gym URLs

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-dev with app in the URLs above (e.g. https://app.spothub.rlgym.turing.com/).
  • Lite: Replace ots-dev with lite in 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)