Skip to content

Skip cross-platform deps for Windows builds#104

Open
RocketBoyMusic wants to merge 1 commit intodavis7dotsh:mainfrom
RocketBoyMusic:feature/windows-build
Open

Skip cross-platform deps for Windows builds#104
RocketBoyMusic wants to merge 1 commit intodavis7dotsh:mainfrom
RocketBoyMusic:feature/windows-build

Conversation

@RocketBoyMusic
Copy link

@RocketBoyMusic RocketBoyMusic commented Jan 21, 2026

Summary

Windows build script only installs OpenTUI cross-platform binaries when requested, which avoids Bun EPERM cache failures on Windows while still allowing full multi-target builds via BTCA_BUILD_ALL=1.

Details

  • build only win32 target by default on Windows
  • add BTCA_BUILD_ALL=1 opt-in for full multi-platform builds

Testing

  • bun run scripts/build-binaries.ts (Windows)

Greptile Summary

Windows builds now skip cross-platform OpenTUI dependencies by default to avoid Bun EPERM cache failures, while Linux builds (CI) continue to build all targets. Windows developers can still build all platforms using BTCA_BUILD_ALL=1.

  • Added Target type alias for better type safety
  • Introduced BTCA_BUILD_ALL environment variable for opt-in cross-platform builds
  • Conditionally installs OpenTUI for all platforms only on non-Windows systems or when explicitly requested
  • Changed build loop to use dynamic targetList instead of hardcoded targets array
  • Preserves existing CI behavior: both .github/workflows/pr.yml and .github/workflows/publish.yml run on Linux and will build all 5 platform binaries as expected

Confidence Score: 5/5

  • Safe to merge - addresses Windows build issues without breaking CI or existing features
  • The conditional logic correctly preserves full multi-platform builds on Linux (CI environment) while solving Windows-specific EPERM cache issues. The BTCA_BUILD_ALL=1 escape hatch allows Windows users to opt into full builds when needed. No existing functionality is broken.
  • No files require special attention

Important Files Changed

Filename Overview
apps/cli/scripts/build-binaries.ts Conditionally skips cross-platform OpenTUI installs on Windows by default to avoid EPERM errors, while preserving full multi-platform build capability via BTCA_BUILD_ALL=1. Logic correctly maintains all-target builds on Linux (used in CI).

@vercel
Copy link

vercel bot commented Jan 21, 2026

@RocketBoyMusic is attempting to deploy a commit to the davis7 Team on Vercel.

A member of the Team first needs to authorize it.

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

Comments