-
Notifications
You must be signed in to change notification settings - Fork 7
Description
The blueapi:0.7.2 container was built with dodal:1.39.0, the latest version of dodal at the time of the release. Since that dodal release, dodal has been made compatible with breaking changes between ophyd_async:0.9.0a1 and ophyd-async:0.9.0a2.
When deploying blueapi on the cluster with dodal as a scratch dependency, dodal main is checked out: this is then not compatible with the version of ophyd-async in the built virtual environment in the container.
When wanting to create all of the devices on a beamline the version of dodal must be changed to a compatible version and the blueapi environment restarted. While dependencies on the beamline can have other branches checked out once they are in the scratch area, they are checked out at the default branch by default.
We should support being able to check out either the default branch, the version built into the venv or any tag/branch available on the specified remote.
CF proposes we require specifying the version, such that it is always clear what is checked out on the beamline.
JW proposes we also enforce that the version that is checked out cannot be modified (the code can be modified, but not the branch/tag).
JW proposes that there could be a shortcut to having to find the version of a dependency that is in the venv.
Acceptance Criteria
- When specifying scratch dependencies, a version must be passed
- When that version is a legal existing git ref, that ref is checked out on startup, raising an exception if this is not possible due to local code changes
- That version may take a limited set of other values that are not legal git refs (e.g.
-default,-builtto get the default branch or the version built into the container respectively)