Skip to content

Commit 17bfc65

Browse files
images: change in IOC build process
Docker Compose files for existing IOC images (mca, motorpaker, motorpigcs2 and opcua) were restructured to use the new IOC build method. The docker-compose-mca.yml file was replaced by docker-compose-mca-amptek.yml, Since only Amptek modules are used by customers in our facilities, we may be able to export new modules in the future. All IOCs built with the new build method are using no dynamic links, the main reason for using this target is to keep the module folders and their corresponding database files separate.
1 parent 740f44a commit 17bfc65

File tree

7 files changed

+121
-24
lines changed

7 files changed

+121
-24
lines changed

.github/workflows/base-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
docker-compose-opcua.yml
6464
docker-compose-motorpigcs2.yml
6565
docker-compose-motorparker.yml
66-
docker-compose-mca.yml
66+
docker-compose-mca-amptek.yml
6767
docker-compose-ca-gateway.yml
6868
docker-compose-pvagw.yml
6969
push: ${{ github.event_name == 'push' && vars.PUSH_TO_REGISTRY == 'true' && github.ref_type == 'tag' }}

CHANGES.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
## Unreleased
44

5+
### Breaking changes
6+
7+
* images: change in IOC build process. by @guirodrigueslima in
8+
https://github.com/cnpem/epics-in-docker/pull/133
9+
* The changes in the internal IOC build process in epics-in-docker affect
10+
the directory paths and binary locations within the images.
11+
512
### New features
613

714
* base: add lakeshore340 module. by @guirodrigueslima in
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
services:
2+
mca:
3+
image: ghcr.io/cnpem/mca-amptek-epics-ioc:$TAG
4+
build:
5+
context: ./
6+
dockerfile: ../Dockerfile
7+
target: dynamic-link
8+
labels:
9+
org.opencontainers.image.source: https://github.com/cnpem/epics-in-docker
10+
args:
11+
RUNTIME_PACKAGES: libpcap0.8 libnet1 libusb-1.0-0
12+
REPONAME: mca
13+
APP_DIRS: /opt/mca
14+
IOC_NAME: Amptek
15+
RUNDIR: /opt/mca/iocBoot/iocAmptek
16+
IOC_DBDS:
17+
mcaAmptekSupport.dbd
18+
mcaSupport.dbd
19+
asyn.dbd
20+
drvAsynSerialPort.dbd
21+
drvAsynIPPort.dbd
22+
calcSupport.dbd
23+
busySupport.dbd
24+
sscanSupport.dbd
25+
IOC_LIBS:
26+
mcaAmptek
27+
mca
28+
calc
29+
sscan busy
30+
asyn
31+
seq pv
32+
IOC_DBS:
33+
/opt/epics/modules/mca/db/Amptek.db
34+
/opt/epics/modules/mca/db/Amptek_SCAn.db
35+
/opt/epics/modules/mca/db/mca.db
36+
IOC_CMDS:
37+
/opt/epics/modules/mca/iocBoot/iocAmptek/Amptek_SCAs.substitutions
38+
/opt/epics/modules/mca/iocBoot/iocAmptek/DP5
39+
/opt/epics/modules/mca/iocBoot/iocAmptek/GammaRay
40+
/opt/epics/modules/mca/iocBoot/iocAmptek/MCA8000D
41+
/opt/epics/modules/mca/iocBoot/iocAmptek/PX5
42+
/opt/epics/modules/mca/iocBoot/iocAmptek/auto_settings.req
43+
/opt/epics/modules/mca/iocBoot/iocAmptek/capture_packets
44+
/opt/epics/modules/mca/iocBoot/iocAmptek/st.cmd
45+
/opt/epics/modules/mca/iocBoot/iocAmptek/st.cmd.linux
46+
/opt/epics/modules/mca/iocBoot/iocAmptek/st_base.cmd
47+
/opt/epics/modules/mca/iocBoot/iocAmptek/st_md.cmd
48+
/opt/epics/modules/mca/iocBoot/iocAmptek/st_usb.cmd

images/docker-compose-mca.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

images/docker-compose-motorparker.yml

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,38 @@ services:
44
build:
55
context: ./
66
dockerfile: ../Dockerfile
7-
target: no-build
7+
target: dynamic-link
88
labels:
99
org.opencontainers.image.source: https://github.com/cnpem/epics-in-docker
1010
args:
11-
APP_DIRS: /opt/epics/modules/motorParker/iocs/parkerIOC
12-
RUNDIR: /opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker
11+
REPONAME: motorParker
12+
APP_DIRS: /opt/motorParker
13+
IOC_NAME: Parker
14+
RUNDIR: /opt/motorParker/iocBoot/iocParker
15+
IOC_DBDS:
16+
asyn.dbd
17+
drvAsynSerialPort.dbd
18+
drvAsynIPPort.dbd
19+
motorSupport.dbd
20+
ParkerSupport.dbd
21+
IOC_LIBS:
22+
Parker
23+
motor
24+
asyn
25+
IOC_DBS:
26+
/opt/epics/modules/motorParker/db/ACRAuxBi.template
27+
/opt/epics/modules/motorParker/db/ACRAuxBoRBV.template
28+
/opt/epics/modules/motorParker/db/ACRAuxBo.template
29+
/opt/epics/modules/motorParker/db/ACRAuxLi.template
30+
/opt/epics/modules/motorParker/db/ACRAuxRead.template
31+
/opt/epics/modules/motorParker/db/ACRAux.template
32+
/opt/epics/modules/motorParker/db/OEMLimitSwitch.template
33+
IOC_CMDS:
34+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/PC6K-postInit.cmd
35+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/PC6K.cmd
36+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/PC6K.substitutions
37+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/motor.substitutions.acr
38+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/motor.substitutions.oem
39+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/st.cmd
40+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/st.cmd.acr
41+
/opt/epics/modules/motorParker/iocs/parkerIOC/iocBoot/iocParker/st.cmd.oem

images/docker-compose-motorpigcs2.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,30 @@ services:
44
build:
55
context: ./
66
dockerfile: ../Dockerfile
7-
target: no-build
7+
target: dynamic-link
88
labels:
99
org.opencontainers.image.source: https://github.com/cnpem/epics-in-docker
1010
args:
11-
APP_DIRS: /opt/epics/modules/motor/modules/motorPIGCS2/iocs/pigcs2IOC
12-
RUNDIR: /opt/epics/modules/motor/modules/motorPIGCS2/iocs/pigcs2IOC/iocBoot/iocPIGCS2
11+
REPONAME: motorPIGCS2
12+
APP_DIRS: /opt/motorPIGCS2
13+
IOC_NAME: PIGCS2
14+
RUNDIR: /opt/motorPIGCS2/iocBoot/iocPIGCS2
15+
IOC_DBDS:
16+
asyn.dbd
17+
drvAsynSerialPort.dbd
18+
drvAsynIPPort.dbd
19+
motorSupport.dbd
20+
PI_GCS2Support.dbd
21+
IOC_LIBS:
22+
PI_GCS2Support
23+
motor
24+
asyn
25+
IOC_DBS:
26+
/opt/epics/modules/motor/modules/motorPIGCS2/pigcs2App/Db/PI_Support.db
27+
/opt/epics/modules/motor/modules/motorPIGCS2/pigcs2App/Db/PI_SupportCL.db
28+
/opt/epics/modules/motor/modules/motorPIGCS2/pigcs2App/Db/PI_SupportCtrl.db
29+
/opt/epics/modules/motor/modules/motorPIGCS2/pigcs2App/Db/PI_SupportError.db
30+
IOC_CMDS:
31+
/opt/epics/modules/motor/modules/motorPIGCS2/iocs/pigcs2IOC/iocBoot/iocPIGCS2/st.cmd
32+
/opt/epics/modules/motor/modules/motorPIGCS2/iocs/pigcs2IOC/iocBoot/iocPIGCS2/PI_GCS2.cmd
33+
/opt/epics/modules/motor/modules/motorPIGCS2/iocs/pigcs2IOC/iocBoot/iocPIGCS2/PI_GCS2.substitutions

images/docker-compose-opcua.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ services:
44
build:
55
context: ./
66
dockerfile: ../Dockerfile
7-
target: no-build
7+
target: dynamic-link
88
labels:
99
org.opencontainers.image.source: https://github.com/cnpem/epics-in-docker
1010
args:
11-
APP_DIRS: /opt/epics/modules/opcua
12-
RUNDIR: /opt/epics/modules/opcua/iocBoot/iocUaDemoServer
13-
RUNTIME_PACKAGES: libxml2 libssl3
11+
REPONAME: opcua
12+
APP_DIRS: /opt/opcua
13+
IOC_NAME: opcuaIoc
14+
RUNDIR: /opt/opcua/iocBoot/iocopcuaIoc
15+
IOC_DBDS:
16+
opcua.dbd
17+
IOC_LIBS:
18+
opcua

0 commit comments

Comments
 (0)