Updating and Testing ibek-support#

Warning

This is draft only and out of date. It will be updated soon.

The ibek-defs repository contains ibek support yaml. Here is an example procedure for local testing of changes to support yaml in ibek-defs alongside IOC yaml that uses it.

(Suggest you do this inside a dev-e7 workspace devcontainer)

cd my-workspace-folder

# clone ibek-defs
git clone git@github.com:epics-containers/ibek-defs.git
# clone an example domain repo with example IOC yaml
git clone git@gitlab.diamond.ac.uk:controls/containers/accelerator/acc-psc.git

# get latest ibek installed
pip install ibek

cd acc-psc/services/sr25a-ioc-01
ibek build-startup config/ioc.boot.yaml ../../../ibek-defs/*/*.yaml

This will get ibek generate a startup script and database generation script in the config folder. It uses config/ioc.boot.yaml as the description of the IOC ‘entities’ to instantiate and all of the support yaml files in ibek-defs as a source of the definitions of the classes of entities available.

The example currently uses the timingtemplates definitions only.

Note that at present ibek generates a script of msi invocations instead of a substitution file. This will be changed in the future.