Skip to content

Add test-min-protocol CI job#171

Merged
Liam-DeVoe merged 15 commits intomainfrom
add-test-min-protocol-ci
Apr 7, 2026
Merged

Add test-min-protocol CI job#171
Liam-DeVoe merged 15 commits intomainfrom
add-test-min-protocol-ci

Conversation

@Liam-DeVoe
Copy link
Copy Markdown
Member

@Liam-DeVoe Liam-DeVoe commented Apr 3, 2026

Closes #39.

Claude-written summary

Summary

  • Adds a test-min-protocol CI job that tests hegel-rust against the oldest supported hegel-core version
  • Reads SUPPORTED_PROTOCOL_VERSIONS from runner.rs to determine the minimum protocol version
  • Fetches the protocol→core version mapping from hegel.dev/api/versions.json and pins hegel-core to the corresponding oldest version via HEGEL_SERVER_COMMAND

Part of the cross-repo protocol version mapping system (website + hegel-core + hegel-rust).

Test plan

  • CI test-min-protocol job runs successfully once versions.json is deployed to hegel.dev
  • Verify the job correctly parses the minimum protocol version from runner.rs
  • Verify the wrapper script correctly pins hegel-core to the resolved version

Add a CI job that tests hegel-rust against the oldest supported
hegel-core version for the minimum supported protocol version. The job
reads SUPPORTED_PROTOCOL_VERSIONS from runner.rs, fetches the
protocol-to-core version mapping from hegel.dev/api/versions.json, and
runs the test suite using a wrapper script that pins hegel-core to that
minimum version via HEGEL_SERVER_COMMAND.
Replace the nonexistent hegel.dev/api/versions.json endpoint with a
local protocol-core-versions.json mapping file.

Fix the zizmor template-injection lint by passing the hegel-core version
through an env var instead of expanding it directly in the run block.
The Rust library requires --stdio mode, which was added in hegel-core
0.2.3. The protocol-core-versions.json was mapping protocol 0.6 to
hegel-core 0.2.1, which does not support --stdio. Update all pre-0.8
mappings to 0.2.3.
@Liam-DeVoe
Copy link
Copy Markdown
Member Author

@claude the recent changes are terrible and hacky. Please go back to the version which failed CI but was actually correct.

Reverts commits 82fa69a, ca81bb5, and a56bf82 which introduced hacky
workarounds (local version mapping file, env_remove in tests, printf
wrapper). Restores the original clean implementation that fetches
versions from hegel.dev/api/versions.json.
Simpler approach: install the pinned hegel-core version as a real tool
on PATH, then pass the resolved binary path via HEGEL_SERVER_COMMAND.
Also moves the step output into an env block to avoid zizmor
template-injection warnings.
…in-protocol

Apply review suggestion to remove redundant name/comments in the
min-version CI step. Skip antithesis tests in the min-protocol job
since they spawn subprocess projects that inherit HEGEL_SERVER_COMMAND
and the old hegel-core doesn't support them.
@Liam-DeVoe Liam-DeVoe merged commit f45c4c5 into main Apr 7, 2026
15 checks passed
@Liam-DeVoe Liam-DeVoe deleted the add-test-min-protocol-ci branch April 7, 2026 21:14
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.

Add CI job that tests against the lowest protocol version we claim to support

1 participant