Second secs4j-interop CI failure:
ensuring secs4j-interop image is built...
compiling Secs4jHostHarness.java...
error: file not found: Secs4jHostHarness.java
FAIL: javac
The script bind-mounted $PWD/interop/secs4j into /work inside the
container so it could javac the harness at runtime. That works
locally where docker daemon and script share a filesystem, but
fails in CI: the act runner runs the workflow inside a container,
the docker socket is mounted from the host, and the daemon
interprets bind-mount paths against the host filesystem — where
$PWD/interop/secs4j doesn't exist. Result: empty /work, javac
errors, job fails.
Fix: COPY Secs4jHostHarness.java into the image and javac it at
image build time. The script just runs the container — no bind
mount, no docker-in-docker mount path translation, works in CI and
locally.
Verified locally with a fresh image rebuild: 55/55 checks pass.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>