From e0e80e1015abf7d8b8c7bfbc66b82ae274d2a8fc Mon Sep 17 00:00:00 2001 From: Giles Knap Date: Tue, 5 Mar 2024 07:30:26 +0000 Subject: [PATCH] update to template 3.2.0b1 --- .copier-answers.yml | 2 +- .devcontainer/devcontainer.json | 6 ++---- .devcontainer/postCreateCommand | 2 +- .github/workflows/build.yml | 3 ++- Dockerfile | 6 +++--- build | 6 ++++-- ioc/configure/CONFIG_SITE | 1 - ioc/iocApp/src/Makefile | 4 ++-- requirements.txt | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index 62c62a8..fcdb940 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY -_commit: 3.1.0 +_commit: 3.2.0b1 _src_path: gh:epics-containers/ioc-template description: The simulation AreaDetector git_platform: github.com diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 4b185dd..8c51da6 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -39,11 +39,9 @@ ] } }, - // Make sure the files we are mapping into the container exist on the host - // You can place any other outside of the container before-launch commands here + // You can place any outside of the container before-launch commands here "initializeCommand": "bash .devcontainer/initializeCommand ${devcontainerId}", - // Hooks the global .bashprofile_dev_container but also can add any other commands - // to run in the container at creation in here + // One time global setup commands inside the container "postCreateCommand": "bash .devcontainer/postCreateCommand ${devcontainerId}", "runArgs": [ // Allow the container to access the host X11 display and EPICS CA diff --git a/.devcontainer/postCreateCommand b/.devcontainer/postCreateCommand index b0261da..def9745 100644 --- a/.devcontainer/postCreateCommand +++ b/.devcontainer/postCreateCommand @@ -23,7 +23,7 @@ echo 'source <(ibek --show-completion bash)' >> $HOME/.bashrc echo 'source <(ibek --show-completion zsh)' >> $HOME/.zshrc # pick a theme that does not cause completion corruption in zsh -sed -i $HOME/.zshrc -e 's/ZSH_THEME="devcontainers"/ZSH_THEME="eastwood"/' +sed -i $HOME/.zshrc -e 's/ZSH_THEME="devcontainers"/ZSH_THEME="dst"/' # allow personalization of all devcontainers in this subdirectory # by placing a .devcontainer_rc file in the workspace root diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fe03d58..9804a05 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,6 @@ jobs: packages: write strategy: fail-fast: false - max-parallel: 1 # take advantage of caching matrix: target: [developer, runtime] architecture: [linux] @@ -53,6 +52,8 @@ jobs: load: true - name: Test image + # can't test rtems without some hardware to run on + if: ${{ matrix.architecture != 'rtems' }} run: tests/run-tests.sh - name: Push image diff --git a/Dockerfile b/Dockerfile index b769000..eb89a67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ##### build stage ############################################################## ARG TARGET_ARCHITECTURE -ARG BASE=7.0.7ec3 +ARG BASE=7.0.8ec1b1 ARG REGISTRY=ghcr.io/epics-containers FROM ${REGISTRY}/epics-base-${TARGET_ARCHITECTURE}-developer:${BASE} AS developer @@ -22,7 +22,7 @@ WORKDIR ${SOURCE_FOLDER}/ibek-support COPY ibek-support/_global/ _global COPY ibek-support/iocStats/ iocStats -RUN iocStats/install.sh 3.1.16 +RUN iocStats/install.sh 3.2.0 COPY ibek-support/asyn/ asyn/ RUN asyn/install.sh R4-42 @@ -48,7 +48,7 @@ RUN ADSimDetector/install.sh R2-10 # get the ioc source and build it COPY ioc ${SOURCE_FOLDER}/ioc -RUN cd ${IOC} && make +RUN cd ${IOC} && ./install.sh && make ##### runtime preparation stage ################################################ diff --git a/build b/build index d04d45b..80ef712 100755 --- a/build +++ b/build @@ -18,10 +18,12 @@ cd $(dirname ${0}) # use docker if available else use podman if ! docker version &>/dev/null; then docker=podman; else docker=docker; fi +if $docker buildx version &>/dev/null; then builx=buildx; load=--load; fi # make sure new repos get their submodule ibek-support -git submodule update --init +# allow failure to support working with modified submodule +git submodule update --init || true # build and developer images -$docker build -t ${TAG} --build-arg TARGET_ARCHITECTURE=$T_A --target $TARGET . +$docker build -t ${TAG} --build-arg TARGET_ARCHITECTURE=$T_A $load --target $TARGET . diff --git a/ioc/configure/CONFIG_SITE b/ioc/configure/CONFIG_SITE index 7eaf11b..64da6a6 100644 --- a/ioc/configure/CONFIG_SITE +++ b/ioc/configure/CONFIG_SITE @@ -1,5 +1,4 @@ # CONFIG_SITE -CROSS_COMPILER_TARGET_ARCHS = CHECK_RELEASE = NO diff --git a/ioc/iocApp/src/Makefile b/ioc/iocApp/src/Makefile index f7d5648..53abd95 100644 --- a/ioc/iocApp/src/Makefile +++ b/ioc/iocApp/src/Makefile @@ -12,8 +12,8 @@ ioc_DBD += $(shell cat /epics/support/configure/dbd_list) ioc_SRCS += ioc_registerRecordDeviceDriver.cpp -# add in the libs collected by ibek during container build -ioc_LIBS += $(shell cat /epics/support/configure/lib_list) +# add in the libs collected by ibek during container build (in reverse order) +ioc_LIBS += $(shell tac /epics/support/configure/lib_list) ioc_LIBS += $(EPICS_BASE_IOC_LIBS) ioc_SRCS += iocMain.cpp diff --git a/requirements.txt b/requirements.txt index efc1f42..c856080 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ ibek==1.7.0 # to install direct from github during development in a branch -# git+https://github.com/epics-containers/ibek.git@fix-extract-assets \ No newline at end of file +# git+https://github.com/epics-containers/ibek.git@fix-extract-assets