Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make pmac support up to date with new style framework #7

Merged
merged 30 commits into from
Dec 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
e5f9283
ioc-pmac building under new framework
gilesknap Oct 18, 2023
9f2011b
fix CI
gilesknap Oct 19, 2023
8b7d290
allow write to venv for docker users
gilesknap Oct 19, 2023
69cd6d7
allow the venv to be writeable for docker users
gilesknap Oct 21, 2023
2243188
Merge branch 'dev' of github.com:epics-containers/ioc-pmac into dev
gilesknap Oct 21, 2023
c07c4de
remove redundant vscode interpreter path
gilesknap Nov 6, 2023
0a31137
remove redundant vscode interpreter path
gilesknap Nov 6, 2023
a1f625d
update to latest ioc-template
gilesknap Nov 8, 2023
d83215e
Merge branch 'dev' of github.com:epics-containers/ioc-pmac into dev
gilesknap Nov 8, 2023
f097b49
update to latest ioc-template
gilesknap Nov 8, 2023
0733cb2
update to latest dependencies
gilesknap Nov 20, 2023
f3f67df
update to epics-base 7.0.7ec3
gilesknap Nov 27, 2023
86a02a1
update to UPSTREAM motor
gilesknap Nov 28, 2023
7f42d81
update to latest pmac / ibek-support
gilesknap Dec 1, 2023
a350076
upgrade to ibek 1.5.3
gilesknap Dec 1, 2023
f1528db
update to ibek-support
gilesknap Dec 1, 2023
e584d07
update to latest ioc-template (#1)
gilesknap Nov 8, 2023
e755990
ioc-pmac building under new framework
gilesknap Oct 18, 2023
17bc809
fix CI
gilesknap Oct 19, 2023
7aab40f
allow the venv to be writeable for docker users
gilesknap Oct 21, 2023
835d859
remove redundant vscode interpreter path
gilesknap Nov 6, 2023
8700732
update to latest ioc-template
gilesknap Nov 8, 2023
f107981
update to latest ioc-template
gilesknap Nov 8, 2023
c901ed0
update to latest dependencies
gilesknap Nov 20, 2023
7bbcba3
update to epics-base 7.0.7ec3
gilesknap Nov 27, 2023
006992c
update to UPSTREAM motor
gilesknap Nov 28, 2023
766988f
update to latest pmac / ibek-support
gilesknap Dec 1, 2023
fec15f3
upgrade to ibek 1.5.3
gilesknap Dec 1, 2023
d7deaca
update to latest ioc-template (#1)
gilesknap Nov 8, 2023
f69edc7
Merge branch 'dev' of github.com:epics-containers/ioc-pmac into dev
gilesknap Dec 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ if [[ "${PUSH}" == 'true' ]] ; then EC_PUSH='--push' ; fi

THIS=$(dirname ${0})
set -xe
mkdir -p ${CACHE}
mkdir -p ${EC_CACHE}

# get the current version of ec CLI
pip install -r ${THIS}/../../requirements.txt
pip install -r ${THIS}/../../requirements_ec.txt

# add cache arguments - local file cache passed by github seems to be most reliable
export EC_CARGS="
Expand All @@ -37,8 +37,7 @@ export EC_CARGS="
ec -v dev build ${EC_TAG} ${EC_PLATFORM} ${EC_PUSH} ${EC_CARGS}

# extract the ioc schema from the runtime image
ec dev launch-local ${EC_TAG} --execute \
'ibek ioc generate-schema /epics/ibek/*.ibek.support.yaml' > ibek.ioc.schema.json
ec dev launch-local ${EC_TAG} --execute 'ibek ioc generate-schema' > ibek.ioc.schema.json

# run acceptance tests
shopt -s nullglob # expand to nothing if no tests are found
Expand Down
22 changes: 15 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
##### build stage ##############################################################

ARG TARGET_ARCHITECTURE
ARG BASE=7.0.7ec2
ARG BASE=7.0.7ec3
ARG REGISTRY=ghcr.io/epics-containers

FROM ${REGISTRY}/epics-base-${TARGET_ARCHITECTURE}-developer:${BASE} AS developer

# get latest ibek while under dev. In future the epics-base version will be used
RUN pip install --upgrade ibek==1.4.2
# Get latest ibek while in development. Will come from epics-base when stable
COPY requirements.txt requirements.txt
RUN pip install --upgrade -r requirements.txt

# the devcontainer mounts the project root to /epics/ioc-template
WORKDIR /epics/ioc-template/ibek-support
# The devcontainer mounts the project root to /epics/ioc-adsimdetector. Using
# the same location here makes devcontainer/runtime differences transparent.
WORKDIR /epics/ioc-pmac/ibek-support

# copy the global ibek files
COPY ibek-support/_global/ _global
Expand All @@ -22,7 +24,7 @@ COPY ibek-support/asyn/ asyn/
RUN asyn/install.sh R4-42

COPY ibek-support/autosave/ autosave/
RUN autosave/install.sh R5-10-2
RUN autosave/install.sh R5-11

COPY ibek-support/busy/ busy/
RUN busy/install.sh R1-7-3
Expand All @@ -39,7 +41,13 @@ RUN motor/install.sh R7-2-3b1
COPY ibek-support/pmac/ pmac/
RUN pmac/install.sh 2-4-10

# Generate template IOC source tree / generate Makefile / compile
COPY ibek-support/motor/ motor/
RUN motor/install.sh R7-3-1

COPY ibek-support/pmac/ pmac/
RUN pmac/install.sh 2-6-2b1

# create IOC source tree, generate Makefile and compile IOC Instance
RUN ibek ioc build

##### runtime preparation stage ################################################
Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
A container image for a generic IOC to support delta tau motion controllers.
An epics-containers generic IOC source file for Delta Tau pmac motion controllers.

Generates a Generic IOC for running in a container and
creating IOC instances to control pmac motion controllers.

See the https://epics-containers.github.io

7 changes: 2 additions & 5 deletions build
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

################################################################################
# generic local build script for epics-containers ioc repositories #
# generic local build script for epics-containers ioc repositories #
################################################################################

# pass rtems as first argument to build RTEMS on cross-compiler
Expand All @@ -18,7 +18,4 @@ git submodule update --init
ec dev build --arch ${TARGET_ARCHITECTURE}

# get the schema file from the developer container and save it locally
ec dev launch-local --execute \
'ibek ioc generate-schema /epics/ibek/*.ibek.support.yaml' \
> ibek.ioc.schema.json

ec dev launch-local --execute 'ibek ioc generate-schema' > ibek.ioc.schema.json
2 changes: 1 addition & 1 deletion ibek-support
Submodule ibek-support updated 50 files
+30 −16 ADAravis/ADAravis.ibek.support.yaml
+99 −0 ADAravis/arvFeature.pvi.device.yaml
+4 −5 ADAravis/install.sh
+441 −264 ADCore/ADCore.ibek.support.yaml
+300 −0 ADCore/ADDriver.pvi.device.yaml
+787 −0 ADCore/NDFileHDF5.pvi.device.yaml
+176 −0 ADCore/NDPluginDriver.pvi.device.yaml
+4 −0 ADCore/NDPluginFile.pvi.device.yaml
+336 −0 ADCore/NDPluginProcess.pvi.device.yaml
+14 −0 ADCore/NDPluginPva.pvi.device.yaml
+270 −0 ADCore/NDPluginROI.pvi.device.yaml
+579 −0 ADCore/NDPluginStats.pvi.device.yaml
+468 −0 ADCore/asynNDArrayDriver.pvi.device.yaml
+4 −1 ADCore/install.sh
+5,205 −0 ADGenICam/ADGenICam.pvi.device.yaml
+1,347 −0 ADGenICam/GenICamFeature.pvi.device.yaml
+26 −0 ADGenICam/install.sh
+5 −1 ADSimDetector/ADSimDetector.ibek.support.yaml
+1 −1 ADSimDetector/install.sh
+297 −0 ADSimDetector/simDetector.pvi.device.yaml
+2 −2 _global/epics.ibek.support.yaml
+450 −456 asyn/asyn.ibek.support.yaml
+1 −1 asyn/install.sh
+84 −86 autosave/autosave.ibek.support.yaml
+1 −1 autosave/install.sh
+22 −4 build_support.sh
+1 −1 busy/install.sh
+1 −1 calc/install.sh
+1 −1 iocStats/install.sh
+1 −1 iocStats/iocStats.ibek.support.yaml
+1 −1 make_global_schemas.sh
+2 −3 motor/install.sh
+469 −487 motor/motor.ibek.support.yaml
+27 −0 motorMotorSim/install.sh
+123 −0 motorMotorSim/motorMotorSim.ibek.support.yaml
+1 −1 pmac/install.sh
+2,243 −0 pmac/pmac.ibek.support.todo
+1,107 −3,748 pmac/pmac.ibek.support.yaml
+83 −0 pvi-generate.sh
+1 −1 sscan/install.sh
+2 −2 tests/Dockerfile.adsimdetector
+2 −2 tests/Dockerfile.asyn
+2 −2 tests/Dockerfile.busy
+9 −14 tests/_test_support_build.sh
+1 −9 tests/ioc.yaml
+0 −27 tests/ioc_instance/ioc.db
+0 −20 tests/ioc_instance/st.cmd
+5 −3 tests/test_ioc_generate.sh
+0 −23 tests/test_ioc_instance.sh
+247 −250 zebra/zebra.ibek.support.yaml
5 changes: 3 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
epics-containers-cli==2.6.3
#git+https://github.com/epics-containers/epics-containers-cli.git@dev
ibek==1.5.3
# to install direct from github during development in the dev branch:
#git+https://github.com/epics-containers/ibek.git@dev
3 changes: 3 additions & 0 deletions requirements_ec.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
epics-containers-cli==2.6.4
# to install direct from github during development in the dev branch:
#git+https://github.com/epics-containers/epics-containers-cli.git@dev
Loading