Skip to content

ci: build and release for macOS and Linux#16

Merged
wct097 merged 1 commit into
mainfrom
chore/multiplatform-builds
Jun 3, 2026
Merged

ci: build and release for macOS and Linux#16
wct097 merged 1 commit into
mainfrom
chore/multiplatform-builds

Conversation

@wct097

@wct097 wct097 commented Jun 3, 2026

Copy link
Copy Markdown
Owner

What

Extend CI/CD from Windows-only to Windows + macOS + Linux.

  • build.yml → matrix build + test across windows-latest, macos-latest, ubuntu-latest. This PR's own checks verify cross-platform build & tests.
  • release.yml → matrix publish of self-contained single-file binaries for win-x64, osx-arm64, osx-x64, linux-x64; each zipped; a single downstream release job collects all artifacts and publishes once (avoids the parallel same-tag release race).
  • README → macOS/Linux download instructions; roadmap item checked off.
  • Docs accuracy → the "WSQ Codec | NBIS-based bindings" claim was wrong; the code is a managed C# decoder (WsqDecoder.cs, "Managed.Wsq-derived, System.Drawing removed for cross-platform compatibility") with zero native interop. Corrected in README + project_context.

Why this is safe / works (not just compiles)

The app has no DllImport/native libs and no platform-locked packages — WSQ decode is pure managed C#. So macOS/Linux binaries genuinely run. The matrix build.yml on this PR is the proof.

Notes

  • macOS/Linux binaries are unsigned, same as the current Windows zip — code signing stays roadmapped (SignPath/Apple notarization).
  • No local Mac needed: GitHub's macos-latest/macos-13 runners do the builds.

🤖 Generated with Claude Code

The app is fully managed/portable (managed C# WSQ decoder, no native deps), so
extend CI to all desktop targets:

- build.yml: matrix build + test across windows-latest, macos-latest, ubuntu-latest
  (proves portability on every PR).
- release.yml: matrix publish of self-contained single-file binaries for win-x64,
  osx-arm64, osx-x64, linux-x64; per-OS zip; artifacts collected by a single
  release job (avoids the parallel-release race).
- README: macOS/Linux download instructions; mark macOS/Linux builds done;
  correct the WSQ "NBIS bindings" claim to the actual managed decoder.
- project_context.md: same WSQ correction.

macOS/Linux binaries are unsigned (same as the existing Windows zip); signing
stays roadmapped.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@wct097 wct097 merged commit d957c2c into main Jun 3, 2026
3 checks passed
@wct097 wct097 deleted the chore/multiplatform-builds branch June 3, 2026 10:53
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