Repository navigation
Run the test IOC from codecr.jlab.org/acc/iac/containers/softioc:1 - #66
Merged
Merged
Conversation
Replace DockerHub's jeffersonlab/softioc:1.1.0 with the JLab soft IOC image. It starts softIoc with -S, so the IOC needs no terminal: drop tty and stdin_open. Its own health check reads SOFTIOC_HEALTH_PV over 127.0.0.1; set it to HELLO and drop deps.yaml's healthcheck, so compose up --wait waits for the IOC to answer. The image runs as uid 1234, so make the mounted feed-ca.sh executable, and note the image's needs in AGENTS.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
slominskir
approved these changes
Nov 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Switch the test IOC from DockerHub's
jeffersonlab/softioc:1.1.0tocodecr.jlab.org/acc/iac/containers/softioc:1(EPICS 3.15.9), following that image's "Moving from jeffersonlab/softioc:1.1.0" steps.deps.yaml: new image;tty: trueandstdin_open: trueremoved, since the image runssoftIoc -S(no IOC shell). The service keeps its default entrypoint and command,softIoc -S -d /db/softioc.db, with/dbmounted fromexamples/softioc-db.deps.yaml:SOFTIOC_HEALTH_PV: HELLO, and the composehealthcheckremoved, so the image's own check (caget -w 2 HELLOover 127.0.0.1, every 5 s) applies.compose.yamlandbuild.yamlextend this service, soup --waitin CI now waits for the IOC to answer.examples/softioc-scripts/feed-ca.sh: mode 755, since the image runs as uid 1234. Nothing runs it; it only callscaput, so it writes nothing to the mount.AGENTS.md: notes the image's health-check record and uid.No deployment steps: this changes only the development and CI test stack, not the epics2web image or WAR.
Release notes
Development: the test IOC in
deps.yamlnow comes fromcodecr.jlab.org/acc/iac/containers/softioc:1, which pulls anonymously. No upgrade steps.Checks
./gradlew spotlessCheck test: passed.epics2web-softioc-1(ports 8080, 5064, 5065 checked free withss -ltnp/ss -lunp), without a TTY:docker compose -f build.yaml build --build-arg CUSTOM_CRT_URL=: built.docker compose -f build.yaml up -d --no-build --wait --wait-timeout 180: both containers healthy in about 8 s.softiocup andhealthy, running asdev;docker exec softioc caget HELLOanswers../gradlew integrationTest: 27 tests, 0 failures. After it (which stops and startssoftioc), the container was up andhealthyagain.down.build / build(run 41579403617) failed outside this change, withcompileJavareportingerror: release version 21 not supported: java-workflows' floatingv2tag had regressed to 3884990 (May 2025, JDK 17).v2points at v2.4.0 (64d6c31) again, and the re-run (run 41580359541, started by closing and reopening the PR) passed:build / build,integration(which pulls the new image and waits for its health check) and CodeQL. This PR leavesci.yamlalone.Decisions
deps.yaml's ownhealthcheck(caget -w 1 HELLO, default address list) rather than keep it alongsideSOFTIOC_HEALTH_PV: the image's check asks the IOC itself over 127.0.0.1, and one check is simpler to keep right.softiocand host ports 5064/5065/8080, since the integration tests use them (docker stop softioc, CA at 127.0.0.1).feed-ca.shexecutable instead of removing it, though nothing in the repository runs it.Prepared-by: Anthropic Claude Code:claude-opus-5-5
🤖 Generated with Claude Code