The loop
1
Edit
Change your model code or swap the weights in your weights directory.
2
Test locally (optional)
With a local GPU, press Ctrl-C in the terminal running Connect a local client and check that it receives media. Send a command and confirm its effect.
Test locally walks through both a browser client and a
Python check. A successful build does not test model startup or streaming.
reactor run. Then
build and run again.3
Bump the version
Increment
model.version in reactor.yaml (for example v1.0.0 to v1.0.1). This is the release tag publish and deploy use.
If that release already has an image, deploy reactivates it without rebuilding your changed code.reactor.yaml
4
Deploy
Deploy reads the tag from
reactor.yaml and publishes the image before activation. When the
checkpoint changes, run reactor model publish --weights <path> first. With no weights source
in reactor.yaml, deploy reuses the bundle from the previous release automatically.Rolling back
To return to an earlier release, deploy it by name. This is the one case where you pass the tag explicitly, since you’re targeting a release other than the one inreactor.yaml:
--immediate. See Cut over immediately.
Reuse the previous bundle for code-only changes
If the weights are unchanged between releases (a code-only tweak, a rebuilt image, a config update) the bundle does not need to be on the machine that runs publish. With no--weights and no
runtime.weights_path in reactor.yaml, the deploy reuses the most recently deployed release’s
bundle server-side, with no local read or upload:
reactor weights upload <model>:<release> --from <source-release>. See
Carry over weights from a previous release
for details.
Changing the spec without re-publishing
Some changes need no new release, such as a description tweak or a resource update. Editreactor.yaml and reapply it with reactor model update:
description, resources,
extra-args, and visibility) is rebuilt from reactor.yaml. Anything you remove from the file is
cleared on the server. Visibility is the exception. When you omit public, the model keeps its
current visibility.
To change only the status or make a public model private, use a targeted flag. These flags ignore
the spec:
Keep versions moving forward
Bumpmodel.version to a fresh, increasing value before each publish so status and rollbacks stay
unambiguous. The version must be full semver (v1.0.0, v1.2.3-rc1); the CLI rejects partial
values like v1 before anything ships.
Next
Deploy a model
Deploy the current workspace or activate an existing release.
Check status
Confirm where each release stands.