You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In future we need to support a clean workflow for modifying support modules withing the context of a generic IOC that depends upon them.
We have a proposal for:
ibek dev support SUPPORT-MODULE-FOLDER
this would mv the support module into a folder that is a peer to the ioc-xxxx repo folder and symlink the /epics/support/SUPPORT-MODULE to that - plus make it writable. This means that your support module changes are in the host filesystem and will not be lost on container rebuild.
This issue proposes that we as well as making the symlink, also update the devcontainer.json file to mount this folder into epics/support/SUPPORT-MODULE. This means that:
rebuilding the container will not loose the connection to the host
committing the ioc-xxx repo while working on a support module will cause CI to fail and you won't get confusing results where CI and local are using different support module versions.
Actions:-
change ibek clone to set all source code to read only so that users do not mistakenly change support modules inside the container
implement ibek dev support to:-
move the support module to a host folder
symlink /epics/support/SUPPORT-MODULE to the host folder
update devcontainer to mount the host holder over /epics/support/SUPPORT-MODULE so that a container rebuild replaces the symlink with a host mount.
consider implementing an ibek function to undo the ibek dev support change
this would require you have released the support module changes
would update the Dockerfile with the new version of the support module.
remove the mount from devcontainer.json
clone the new support module version into the container so that you can verify the released version will work
This seems a little complicated. Can this be simplified?
Just working inside the container is very easy and this would work for in cluster testing and development too.
We just need to be able to ensure people don't loose their work.
For further review
gilesknap
changed the title
Future changes for ioc-template and ibek - updating the devcontainer JSON
Implement an approach to working in support modules in epics-containers
Nov 20, 2024
In future we need to support a clean workflow for modifying support modules withing the context of a generic IOC that depends upon them.
We have a proposal for:
this would mv the support module into a folder that is a peer to the ioc-xxxx repo folder and symlink the /epics/support/SUPPORT-MODULE to that - plus make it writable. This means that your support module changes are in the host filesystem and will not be lost on container rebuild.
This issue proposes that we as well as making the symlink, also update the devcontainer.json file to mount this folder into epics/support/SUPPORT-MODULE. This means that:
Actions:-
ibek dev support
changeThis is from a conversation with @coretl today.
The text was updated successfully, but these errors were encountered: