fix: restore macOS local build and publish from the csproj - #352
Conversation
dotnet publish from the repo root picks up WheelWizard.sln, which only defines Debug|Any CPU and Release|Any CPU. -c Release-macOS then fails with MSB4126, so the macOS release jobs from TeamWheelWizard#326 cannot produce a .app. Point the publish at WheelWizard/WheelWizard.csproj, matching the Windows and Linux release steps.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughThe macOS build now provides a strict wrapper that locates and executes the release script. The release script publishes ChangesmacOS publish flow
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to The macOS publish command now targets the project directly and the local wrapper restores the expected entry point; no actionable merge-blocking risk remains after normal checks. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Description checkExplanation The description explains the purpose, testing steps, changes, expected result, CI impact, and related issue status. It is complete enough for review. The section headings omit some template punctuation, and the test checklist remains unchecked, but these are minor issues. Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2 files. ✨ 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. Comment |
Windows and Linux still have root-level publish scripts for local builds; CI does not use them. Restore a matching entry point that delegates to macos/release-macos.sh so ./build-mac.sh produces a .app again.
Purpose of this PR
The macOS release jobs added in #326 run
./macos/release-macos.shfrom the repo root. That script calleddotnet publishwith no project path, so the CLI picks upWheelWizard.sln. The solution only definesDebug|Any CPUandRelease|Any CPU, so-c Release-macOSfails with MSB4126 and no.app/ DMG is produced.I hit this while building locally after that merge. The next
v*tag would ship without macOS assets.#326 also removed the root
build-mac.shthat sat next tobuild-linux.sh/build-win.bat. Those Windows and Linux scripts are local-dev helpers (CI inlinesdotnet publishfor those platforms). Restoring a rootbuild-mac.shthat delegates tomacos/release-macos.shbrings macOS back in line.How to Test
On macOS, from the repo root:
./build-mac.sh # or ./macos/release-macos.shExpected: a
.appatrelease/WheelWizard.app, not:Optional:
BUILD_ARCH=x64 ./build-mac.shfor an Intel build.CI: the
macos-arm64andmacos-x64jobs in.github/workflows/release.ymlshould get past the "Build .app bundle" step.What Has Been Changed
macos/release-macos.shnow publishesWheelWizard/WheelWizard.csprojinstead of the solution, matching the Windows and Linuxdotnet publishsteps in the release workflow.build-mac.shas a local entry point that runsmacos/release-macos.sh(same role asbuild-linux.sh/build-win.bat).Related Issue
None — found while building locally after #326.
Summary by CodeRabbit
New Features
Bug Fixes