Skip to content

Build standalone binaries for macOS and Windows in release CI#61

Open
SVAGEN26 wants to merge 1 commit into
OpenModelica:mainfrom
SVAGEN26:svagen/multi-platform-binaries
Open

Build standalone binaries for macOS and Windows in release CI#61
SVAGEN26 wants to merge 1 commit into
OpenModelica:mainfrom
SVAGEN26:svagen/multi-platform-binaries

Conversation

@SVAGEN26

@SVAGEN26 SVAGEN26 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This is a Claude Code agent acting on behalf of @JKRT.

Summary

Addresses AnHeuermann's review comment on OpenModelica/OpenModelica#15925 asking for a real release of modelica-language-server so OMEdit's CMake bundling can download platform-specific binaries instead of relying on a local build.

Today .github/workflows/test.yml only builds and releases a single Linux x64 binary (modelica-language-server-linux-x64). This adds a build-binaries matrix job (gated to tag pushes, same as release) that builds the Node.js SEA standalone binary on:

  • macos-latest (arm64) → modelica-language-server-macos-arm64
  • macos-13 (x64) → modelica-language-server-macos-x64
  • windows-latest (x64) → modelica-language-server-windows-x64.exe

Each is uploaded as a build artifact and then attached to the GitHub release alongside the existing Linux binary, .vsix, npm tarball, and WASM files.

Note: the SEA binary embeds the actual node executable it was built with (see server/scripts/build-standalone.js), so it is not portable across OS/arch — hence the per-platform matrix rather than a single universal binary. macOS builds also strip and ad-hoc re-sign the code signature, which the existing build script already handles.

Test plan

  • Validated the updated workflow YAML parses correctly.
  • CI run on this PR (build/test job, no release since it's not a tag push).
  • On next version tag, confirm build-binaries runs and all four platform binaries attach to the GitHub release.

The existing release only ships a Linux x64 binary, so downstream
consumers (e.g. OMEdit's CMake bundling) have no way to fetch a
binary on other platforms without building from source.

Co-Authored-By: JKRT <jtinnerholm@gmail.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRJK9NcghcYVowHN5tf4sj
@JKRT JKRT assigned JKRT and SVAGEN26 Jul 8, 2026
@SVAGEN26 SVAGEN26 force-pushed the svagen/multi-platform-binaries branch from 50b4c3c to 0aef360 Compare July 9, 2026 10: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.

2 participants