Skip to content

Support Windows distribution build and cross-Linux CI smoke#2845

Draft
plajjan wants to merge 10 commits into
mainfrom
windows-dist-cross-linux-ci
Draft

Support Windows distribution build and cross-Linux CI smoke#2845
plajjan wants to merge 10 commits into
mainfrom
windows-dist-cross-linux-ci

Conversation

@plajjan
Copy link
Copy Markdown
Contributor

@plajjan plajjan commented Jun 2, 2026

Summary

  • Build the Acton distribution on Windows with make, including Windows executable suffixes, Stack/GHC UTF-8 setup, Windows Zig extraction, and a Windows LMDB bdep for the compiler build.
  • Make the Windows compiler path able to compile examples/helloworld.act to the default Linux target.
  • Add CI where Windows builds the dist and produces a Linux ELF, then Ubuntu downloads and runs it.

Validation

  • Windows VM: make clean && make completed successfully.
  • Windows VM: dist/bin/acton.exe --help works.
  • Windows VM: dist/bin/acton.exe --tempdir ... examples/helloworld.act produced a Linux ELF.
  • Linux host: the Windows-built Linux ELF was verified with file/readelf and printed Hello, world!.
  • Linux local: make clean && make -j2 completed successfully.
  • Linux local: rebuilt dist/bin/acton --tempdir ... helloworld.act produced an ELF and it printed Hello, world!.
  • Linux local: make dist/bin/acton completed successfully after the merge.
  • Linux local: make test passed.
  • GitHub Actions: earlier test-windows/Windows-built Linux ELF smoke passed on this branch; fresh checks are running after merging main.
  • git diff --check and workflow YAML parse passed.

Notes

  • actondb.exe is still left out of the Windows distribution for now; that backend C portability issue is separate.
  • During manual testing, Windows OpenSSH scp truncated extensionless ELF files. The CI test uses artifact upload/download instead and verifies the ELF before running 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