Skip to content

fix(cli): build gossipsub-interop from a fresh checkout - #85

Open
Wenbobobo wants to merge 1 commit into
etheorem:hackathon26from
Wenbobobo:fix/cli-globs
Open

Wenbobobo wants to merge 1 commit into
etheorem:hackathon26from
Wenbobobo:fix/cli-globs

Conversation

@Wenbobobo

Copy link
Copy Markdown
Contributor

Summary

On base 36ef9a2, a fresh checkout builds the default target but not lake build gossipsub-interop. The Cli library's roots names Cli, Interop, GossipsubInterop and GossipsubSession, while its globs covers only the first two, so a cold default build never emits GossipsubInterop.olean and the executable's root Main cannot resolve either module. No CI job builds this executable, so it stayed green. This PR adds the two missing names to globs.

What changed

One line in lakefile.toml. The Cli library's globs is now ["Cli", "Interop.*", "GossipsubInterop", "GossipsubSession"], matching the existing roots, which is unchanged. No other files change.

Test plan

  • Cold tree on 36ef9a2, before the fix: lake build succeeds (289 jobs); lake build gossipsub-interop fails with No directory 'GossipsubInterop' or file 'GossipsubInterop.olean' in the search path entries.
  • With the fix: lake build 293 jobs; lake build gossipsub-interop 358 jobs and links; executable SHA-256 starts 2bfdbf78.
  • The linked binary passes one 32-node Shadow cell (go lean, seed 1, subnet-blob-msg, image gate-shadow:2026-11-06): 1.0, 12 checked messages, 160.8 s wall.
  • lake test: 27786 passed, 0 failed, 0 todo, 10 skipped, in parallel and under +RTS -N1. The first parallel run hit a transient uncaught exception; the rerun was clean.
  • scripts/lint-imports.sh: 191 module files, 0 violations. Vendor provenance check: OK.
  • A new codec or framing layer comes with its round-trip theorem or property test, and with a test for its length cap. (n/a: no wire code in this diff)
  • If this touches wire behavior: the captured vectors still pass, and the description names the spec section the change follows. (n/a: no wire code in this diff)

Risk / trust footprint

Build graph only: one glob list in lakefile.toml. No runtime, wire, dependency, or vendored-code change.

Notes for reviewers

Main is the correct root for the executable, and both modules are already roots of Cli; the mismatch is between the library's two lists, so the fix belongs in globs. No Lean test catches this class of defect; only building the target does. lake build still does not build the executable. A CI step running lake build gossipsub-interop would catch this drift; it is left out here so the diff stays one line.

LICENSE (LGPL version 3)

  • I have read and accepted LICENSE (LGPL version 3), NOTICE and CLA in the root of this project.

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