Skip to content

fix(binary-manager): resolve + download Dolt correctly on Windows - #23

Merged
SammyBytes merged 1 commit into
mainfrom
fix/windows-dolt-resolution
Aug 29, 2026
Merged

fix(binary-manager): resolve + download Dolt correctly on Windows#23
SammyBytes merged 1 commit into
mainfrom
fix/windows-dolt-resolution

Conversation

@SammyBytes

Copy link
Copy Markdown
Owner

Problem

deltix init failed on Windows: Executable not found in $PATH: .deltix\\bin\\dolt-2.3.1\\bin\\dolt.

Root causes

  • defaultHomeDir() used process.env.HOME — undefined on Windows (it uses USERPROFILE) — so the install path was relative. Now uses os.homedir() (absolute).
  • binary-manager only handled darwin/linux tarballs. Added win32: dolt-windows-<arch>.zip, extracted via tar -xf (bsdtar on Win10+), binary dolt.exe, and findDoltExecutable looks for dolt.exe.

Also

  • deltix init no longer hard-fails if Dolt can't be resolved yet (first-run download needs network): it binds the project and warns that deltix start will initialize the engine.
  • deltix start now ensures the local Dolt repo exists (idempotent) before serving it.
  • extractTarGzextractArchive (auto-detects gzip/zip).

Verification

113 unit tests pass, build + lint clean. (Windows dolt download can't be exercised from this Linux runner; the path/format logic mirrors Dolt's official release layout.)

…ndows

'deltix init' failed on Windows with 'Executable not found in /run/user/1000/fnm_multishells/47653_1787712485619/bin:/home/sammy/.cargo/bin:/home/sammy/.nvm/versions/node/v20.18.1/bin:/home/sammy/.dotnet:/home/sammy/.console-ninja/.bin:/home/sammy/.local/share/pnpm:/home/sammy/.bun/bin:/home/sammy/.deno/bin:/usr/share/archcraft/scripts:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/share/dotnet:/home/sammy/.dotnet/tools:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin:/var/lib/snapd/snap/bin:/home/sammy/Android/Sdk/emulator:/home/sammy/Android/Sdk/platform-tools:/home/sammy/.turso:/usr/local/go/bin:/home/sammy/go/bin:
.deltix\bin\dolt-2.3.1\bin\dolt'. Two root causes:

- defaultHomeDir() used process.env.HOME, which is undefined on Windows (it
  uses USERPROFILE), so the install path came out RELATIVE. Now uses
  os.homedir() -> absolute C:\Users\<user>\.deltix.
- binary-manager only supported darwin/linux tarballs. Added win32:
  dolt-windows-<arch>.zip, extracted via 'tar -xf' (bsdtar on Win10+),
  binary named dolt.exe, findDoltExecutable looks for dolt.exe.

Also made the local workflow resilient:
- 'deltix init' no longer hard-fails if Dolt can't be resolved yet (first-run
  download needs network): it still binds the project and warns that 'deltix
  start' will initialize the engine.
- 'deltix start' now ensures the local Dolt repo exists (idempotent) before
  serving it.

extractTarGz -> extractArchive (auto-detects gzip/zip). 113 unit tests pass,
build + lint clean.
@SammyBytes
SammyBytes merged commit c179a34 into main Aug 29, 2026
2 checks passed
@SammyBytes
SammyBytes deleted the fix/windows-dolt-resolution branch August 29, 2026 22:11
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