Skip to content

Ship the radio model, and find Renode on Windows - #63

Merged
A13xB0 merged 3 commits into
mainfrom
radio-model-in-the-bundle
Aug 15, 2026
Merged

A13xB0 merged 3 commits into
mainfrom
radio-model-in-the-bundle

Conversation

@A13xB0

@A13xB0 A13xB0 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

No bundle we have shipped can emulate anything. Every emulated node looks up radioserver before it looks up either emulator, and nothing ever built one: meshcore-native's build.sh compiled bridge/main.cpp into each role and never bridge/radioserver.cpp, no release published it, and no packaging job staged it. Unpacking the 0.0.3 artifacts confirms it — zero radioserver entries in the Linux tarball or the Windows zip, beside a QEMU and a Renode that therefore cannot be driven. The Windows README.txt said emulated boards worked out of the box.

All three jobs build it from meshcore-native, the repository the chip model lives in, so a native node and an emulated one stay the same VirtualSX1262. On the Mac it goes inside Contents/MacOS and is signed with the rest of the bundle, and the clone is cleaned up after. A failure is fatal rather than a warning: the way this hid for three releases was a green build.

lookupTool learns the versioned renode_*-portable layout by glob. Linux and macOS bridge that gap with a symlink; a zip cannot carry one, so the Windows bundle shipped a Renode two directories from anywhere the search looked. Covered by a test that fails without the fix.

The AppImage and the .deb take radioserver (40 KB) but not the emulators (110 MB against a 26 MB AppImage), and the READMEs and docs/tools-manifest.md now say so instead of the reverse.

Blocked on MeshBench/meshcore-native#4, which is what builds radioserver and what makes it compile for Windows at all. package.yml clones that repo at main, so a package build fails until #4 merges — deliberately, rather than quietly shipping another bundle that cannot emulate.

Not verified: the Windows radioserver.exe has been cross-compiled and linked but never run on Windows, and no emulated board has been started there.

claude and others added 3 commits August 14, 2026 21:02
Every emulated node looks up radioserver before it looks up either
emulator, and no bundle has ever contained one: nothing built it,
no release published it, and no packaging job staged it. 0.0.1
through 0.0.3 shipped a QEMU and a Renode that nothing could drive,
with a README saying emulated boards worked out of the box.

All three jobs now build it from meshcore-native - the repository the
chip model lives in, so a native node and an emulated one stay the
same VirtualSX1262 - and a failure is fatal rather than a warning.
The way this stayed hidden for three releases was a green build.

lookupTool also learns the versioned renode_*-portable layout by
glob. Linux and macOS bridge that with a symlink; a zip cannot carry
one, so Windows shipped a Renode two directories from anywhere the
search looked.

Needs MeshBench/meshcore-native#4, which is what builds radioserver
and what makes it compile for Windows at all.
The comment led with "a TCP port on Windows, a Unix socket everywhere
else" and the condition under it then sent Renode over TCP on every
platform. Both halves were right; only the summary was wrong.
meshcore-native#4 is merged and radioserver-v1 is published there
(linux-amd64, darwin-arm64, windows-amd64.exe), built off the merge
commit and smoke-tested end to end before publishing. Fetching it now
matches how qemu and renode are already staged, rather than cloning
meshcore-native and rebuilding from source in every job.

meshcore-native has no rolling "latest" release - its automation
republishes a per-role MeshCore version there constantly - so the
macOS job's curl fetch needed a tag-specific lookup rather than the
existing one built around /releases/latest.
@A13xB0
A13xB0 merged commit 6b791e4 into main Aug 15, 2026
4 of 5 checks passed
@A13xB0
A13xB0 deleted the radio-model-in-the-bundle branch August 15, 2026 08: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.

3 participants