Skip to content

feat: restore signet binary alongside signet-exex and signet-sidecar#86

Open
prestwich wants to merge 3 commits intomainfrom
prestwich/eng-2118-three-binaries
Open

feat: restore signet binary alongside signet-exex and signet-sidecar#86
prestwich wants to merge 3 commits intomainfrom
prestwich/eng-2118-three-binaries

Conversation

@prestwich
Copy link
Copy Markdown
Member

@prestwich prestwich commented Apr 1, 2026

Summary

Closes ENG-2118

  • Convert repo from single-binary crate to Cargo workspace with three members: signet, signet-exex, signet-sidecar
  • signet retains original code and deps (node-components v0.16.0, reth v1.11.3)
  • signet-exex is the reth ExEx binary (node-components git tag v0.17.0, reth v1.11.0)
  • signet-sidecar is the standalone RPC follower (node-components crates.io 0.17, zero reth deps)
  • Each binary versioned independently at 1.0.0-rc.9
  • Dockerfiles and CI workflows updated for all three binaries
  • Added CLAUDE.md with versioning, tagging, release, and dependency conventions

Dependency strategy

  • signet: node-components pinned to legacy git tag v0.16.0
  • signet-exex: all node-components deps pinned to git tag v0.17.0 (includes git-only signet-host-reth; using a single source avoids duplicate crate versions)
  • signet-sidecar: node-components from crates.io "0.17" (no git-only deps)
  • init4-bin-base: 0.19 across all three
  • Rule: never mix git and crates.io sources for init4tech/node-components within a single binary

Note on reth versions

signet-exex uses reth v1.11.0 because node-components v0.17.0 is pinned to that version. signet uses reth v1.11.3 matching node-components v0.16.0.

Test plan

  • cargo clippy -p signet --all-targets passes
  • cargo clippy -p signet-exex --all-targets passes
  • cargo clippy -p signet-sidecar --all-targets passes
  • cargo +nightly fmt clean
  • Docker builds verified in CI

🤖 Generated with Claude Code

@prestwich prestwich requested review from a team and rswanson as code owners April 1, 2026 19:29
Add the original signet node binary back alongside signet-exex and
signet-sidecar, creating a three-binary workspace. Update CI workflows
to build/push all three, bump versions to rc.9, pin node-components
to release tags, and rewrite README.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@prestwich prestwich force-pushed the prestwich/eng-2118-three-binaries branch from 6a78872 to bfcd916 Compare April 2, 2026 20:49
- Fix GHCR digest artifact name collision where `digests-signet-*`
  pattern matched signet-exex and signet-sidecar artifacts, producing
  broken multi-platform images. Use double-dash delimiters instead.
- Add `*/v**` tag trigger to ECR workflow for `<binary>/v<version>` tags.
- Remove duplicate COPY line in Dockerfile.
- Fix typo in doc comment ("State" → "Start").

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

3 participants