Release Workflow
The following flowchart and release workflow is perhaps opinionated. However, it is primarily to demonstrate how tc can be used at every stage in the development and release workflow, regardless of the CI/CD system that you may use.
Opinionated QA Flow
Section titled “Opinionated QA Flow”-
PR Merge
Terminal window tc tag --next patch -
Release to QA (bump Minor)
Terminal window tc tag --next minorRelease step is optional.
-
Freeze
Terminal window tc freeze -s stable -e qaFreeze is a software-enforced freeze. Test! Test! Test! after freeze.
-
Snapshot
Terminal window tc snapshot -s stable -e qa --saveThis saves the snapshot of manifests, changelog and topology definitions to s3.
-
Unfreeze
Terminal window tc unfreeze -s stable -e qaThis allows Continuous deploys to continue.
-
Promote
To promote a snapshot, we first go back and pick the one that has been certified and tested in QA. For example:
Terminal window tc snapshot --listqa/stable/2025-10-02qa/stable/2025-10-01qa/stable/2025-09-30qa/stable/2025-09-29qa/stable/2025-09-18To deploy a snapshot (say qa/stable/2025-10-02), we do:
Terminal window tc ci-deploy --env prod --sandbox stable --snapshot qa/stable/2025-10-02Behind the scenes, ci-deploy triggers a pipeline using the snapshot:
Terminal window tc snapshot --show qa/stable/2025-10-02 -f pipeline --target-env dev --target-sandbox stable

