ci: add macOS DMG and Windows installer to release artifacts#114
Conversation
Adds a macos-dmg job that runs on macos-latest after GoReleaser completes. Builds both darwin/amd64 and darwin/arm64 binaries natively, packages them into a compressed DMG (hdiutil, no external dependencies) alongside README, config example, and an install.sh helper, then uploads them to the GitHub release with gh release upload.
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 0/1 reviews remaining, refill in 27 minutes and 3 seconds.Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
- Add .github/windows-installer.nsi — a self-contained NSIS script with StrContains/StrReplaceAll helpers (no external plugins required). Installs deepdiffdb.exe to %ProgramFiles%\DeepDiffDB, appends to the system PATH (idempotent), registers in Add/Remove Programs, and ships a proper uninstaller that cleans the PATH entry on removal. - Workflow: windows-installer job on windows-latest, needs goreleaser. Builds windows/amd64 binary with Go, runs choco install nsis, subs __APP_VERSION__ placeholder with sed, compiles with makensis, uploads deepdiff-db-vX.Y.Z-windows-amd64-installer.exe to the release.
Summary
macos-dmgjob to the release workflow that runs onmacos-latestafter GoReleaser completeswindows-installerjob to the release workflow that runs onwindows-latestafter GoReleaser completesneeds: goreleaserso the release exists before artifact uploadmacOS DMG
Builds
darwin/amd64anddarwin/arm64binaries natively (both in parallel via matrix). Packages each binary into a compressed DMG usinghdiutil(built-in macOS, zero extra dependencies) alongsideREADME.md,deepdiffdb.config.yaml.example, and aninstall.shhelper.Each DMG contains
deepdiffdb,README.md,deepdiffdb.config.yaml.example, andinstall.sh(copies binary to/usr/local/bin).Why
hdiutil: built into every macOS runner — nobrew install, no flaky installs.Windows Installer
Builds a
windows/amd64binary then compiles a proper NSIS installer (makensis). The installer template lives at.github/windows-installer.nsiwith an__APP_VERSION__placeholder substituted bysedat build time.The installer:
deepdiffdb.exeto%ProgramFiles%\DeepDiffDBTest plan
v*tag and verify all four artifacts appear in the release:deepdiff-db-vX.Y.Z-darwin-amd64.dmgdeepdiff-db-vX.Y.Z-darwin-arm64.dmgdeepdiff-db-vX.Y.Z-windows-amd64-installer.exeinstall.sh, confirm binary worksdeepdiffdbis on PATH after install