...
- Commands:
- kubectl create configmap build-config --from-file=build-request.
properties - kubectl describe configmaps build-config
- kubectl create -f build-config.yml
todo: Work on test project like test-ioc, with bom. claudio can use this to test
- we can make the lsit of components just have boost and epics for now
- Then we want to get to the point where a pod is executed and start_build.py can read the bom of the ioc
todo: Work on getting testing flow designed
...
- User command CLI
$ bs run build
which does the build flow.- Pass to backend the component, branch, and user headers
- backend looks into component DB for the development image
- backend mounts
/mnt
at /sdf/scratch/ad/ad-build/
for downloading src code - backend mounts
/build
at /sdf/groups/eed/ad/ad-build/
for the build scripts - backend mounts configMap at
/config/build_config.json
for build request information - starts the build container and calls
start_build.py
start_build.py
then performs a build and outputs its results at the top of repo directory
start_build.py
will then call start_test.py
start_test.py
will then look into directories in the src code called /test/unit_tests/ and run those
Group meeting 6-6-24
...
- 1) Use docker image with all the dependencies baked into it
- 2) or create container that have repo download/install all dependencies with cmake maybe
- 3) Have a configuration file for user to use saying which dependencies he has, and the ad-build will create the docker image for you.
...
...
- lets say we have ioc that depends on boost and epics, if we start with vanilla dev container like rocky9, what information do we need to have
- once the image is built dynamically, then transfer that to a registry, and developers can use that on s3df apptainer since it has full dependencies.
- Who will build the image dynamically? - To build on kubernetres isn't possible, may need to find alternative like buildah, or just use github?
...
- boost component
- epics component
...
- image with everything is installed, one for each environment
- has bin,lib,etc, everything with all dependencies installed with dependencies you chose
- with goal of having iocs run in containers
...
Group Meeting 6-6-24 - LCLSControls - SLAC Confluence (stanford.edu)