Skip to content

Conversation

@tzanko-matev
Copy link

Summary

  • install MSYS2/MinGW and capnproto on Windows runners
  • drop LLVM and vcpkg setup
  • add msys64 bin directory to PATH and export clang variables

Testing

  • just build-extension
  • just test (fails: Content for p mismatch)

https://chatgpt.com/codex/tasks/task_e_6890b1451acc8323bf286afe8736a918

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

Benchmark Report
BenchmarkRuby (no tracing)JSONCAPNPJSON (PureRuby)
heavy_work69ms✓ 465ms 78,110,688B344ms 204,055B✓ 36,445ms 211,728,983B

@tzanko-matev tzanko-matev requested review from nickysn and zah and removed request for zah August 4, 2025 13:48
@nickysn
Copy link
Contributor

nickysn commented Aug 5, 2025

Some of the test failures look similar to this bug that I've discovered today: #105

@nickysn
Copy link
Contributor

nickysn commented Aug 8, 2025

I fixed #105. Can you try to sync with 'main', so we can see whether this resolves the testsuite failures on Windows as well?

Install MSYS2/MinGW and capnproto on Windows runners, drop LLVM/vcpkg setup, and add msys64 paths and clang variables to the environment.
@tzanko-matev tzanko-matev force-pushed the codex/update-ci-workflow-for-windows-toolchain branch from 77ab55b to a37452f Compare August 11, 2025 15:15
@nickysn
Copy link
Contributor

nickysn commented Oct 10, 2025

Fixed in a different way:

  1. Ruby comes with its own MSYS2 install, so we now use that, instead of installing a different one.
  2. Therefore Capnproto and other things are installed using Ruby's MSYS2 package manager pacman.
  3. Fixing Rust:
    The official Ruby binaries are compiled with MSYS2 gcc for the UCRT64 environment: https://www.msys2.org/docs/environments/
    Rust by default supports three 64-bit Windows targets:
  • x86_64-pc-windows-gnu
  • x86_64-pc-windows-msvc
  • x86_64-pc-windows-gnullvm
    The default one is x86_64-pc-windows-msvc, which is ABI compatible with MSVC++, but not with the MSYS2 gcc UCRT64, used by Ruby. Therefore we install and use the x86_64-pc-windows-gnu Rust target, using rustup.
  1. After the basic compilation works, lots of little fixes were required, since the code for the native recorder has never worked on Windows before. These were mostly directory/path separator issues, file extension issues (e.g. Rust compiles to a file with a .dll extension, but it turned out that Ruby expects the .so extension even on Windows).

Closing this issue.

@nickysn nickysn closed this Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants