Resilient post-step hardware cleanup on self-hosted runners when Modbus socket drops during edge I/O tests #209897
Replies: 1 comment
|
I would treat GitHub Actions cleanup as a best-effort recovery layer, not as the primary safety mechanism for physical I/O. For your first question, For a HIL setup like yours, I'd use several independent layers:
One important nuance: “all coils low” is only a safe state if the equipment's control and safety design explicitly defines it as such. For an actual gate or barrier, the safe response depends on the mechanism and hazard analysis; software-level Modbus commands should not replace appropriately designed safety interlocks. The key architectural question is: if the Raspberry Pi loses power immediately after sending the relay ON command, what independent mechanism guarantees that the output returns to a safe state? If the answer depends on another GitHub Actions step, the system still has a single point of failure. |
Uh oh!
There was an error while loading. Please reload this page.
🏷️ Discussion Type
Question
💬 Feature/Topic Area
API
Body
Hi all,
We are setting up an automated hardware-in-the-loop (HIL) testing pipeline using GitHub Actions to validate firmware updates and access microservices on our physical perimeter infrastructure.uld be very helpful.
Our edge test rig consists of an industrial Raspberry Pi CM4 gateway (running Ubuntu Server 24.04 LTS, kernel
6.8.0-1015-raspi) configured as a self-hosted runner. As part of executing integration tests against our on-prem gate barrier system controller interface, the workflow sends automated pulse and hold commands via Modbus TCP (port 502) to verify loop detector status and relay trip intervals.Workflow Configuration (
.github/workflows/edge-hardware-ci.yml):All reactions