Skip to content

ci: optional self-interop against the published go-sunspec image - #25

Merged
boeboe merged 1 commit into
mainfrom
ci/self-interop
Nov 6, 2026
Merged

boeboe merged 1 commit into
mainfrom
ci/self-interop

Conversation

@boeboe

@boeboe boeboe commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

The library half of ADR-0012 for SunSpec (harness half: otfabric/sunspec-interop#4).

  • interop/: each test runs per peer adapter. pysunspec2 as before (pinned digest, SUNSPEC_INTEROP_PYSUNSPEC2_IMAGE overrides); otfabric, a released go-sunspec as sunspec-interop-otfabric, only when SUNSPEC_INTEROP_OTFABRIC_IMAGE names an image — never a default. SUNSPEC_INTEROP_ADAPTERS selects a subset. Tests renamed TestGoReadsPeerDevice, TestPeerReadsGoServer, TestPeerWritesGoServer; the write test skips a peer whose capabilities declare no client write (otfabric: go-sunspec's client reads only).
  • .github/workflows/self-interop.yml, copied from go-modbus: manual only, :latest, logs the digest, never required, nothing pinned.
  • One paragraph each in CONTRIBUTING.md, INTEROPERABILITY.md, TESTING.md.

Nothing in the module changes, so no release.

Local run (macOS arm64) with SUNSPEC_INTEROP_OTFABRIC_IMAGE set to a locally built image of the harness branch: all pass, the otfabric write test skipped. It found an adapter bug in the harness (an acc64 scaled value through float64), fixed there. Self-interop from this branch runs once the image is published.

🤖 Generated with Claude Code

- interop: the tests run per peer; the adapter otfabric runs only when
  SUNSPEC_INTEROP_OTFABRIC_IMAGE names an image (never a default), and
  SUNSPEC_INTEROP_ADAPTERS selects a subset. Tests renamed to
  TestGoReadsPeerDevice, TestPeerReadsGoServer, TestPeerWritesGoServer;
  the write test skips a peer that declares no client write.
- .github/workflows/self-interop.yml, copied from go-modbus: manual only,
  :latest, logs the digest, never required.
- CONTRIBUTING.md, INTEROPERABILITY.md, TESTING.md paragraphs.

No library change, no release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Nov 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@boeboe
boeboe merged commit 835a1a3 into main Nov 6, 2026
25 checks passed
@boeboe
boeboe deleted the ci/self-interop branch November 6, 2026 00:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant