Repository navigation
Add support for building msi for ARM64 Windows - #1130
Closed
Watson1978 wants to merge 5 commits into
Closed
Watson1978 wants to merge 5 commits into
Watson1978 wants to merge 5 commits into
Conversation
Fluentd now works on Windows 11 on Arm, so build an ARM64 msi as well. The windows-11-arm runner has no Docker, so the msi is built directly on the runner with WiX 3.14.1, which supports arm64. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
winevt_c 0.11.2 fails to compile with clang on ARM64 Windows because winevt_utils.cpp uses std::back_inserter without including <iterator>. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
ffi 1.17.0 segfaults on ARM64 Windows, so registering the service fails and the msi installation is rolled back. ffi-win32-extensions 1.1.0 doesn't allow newer ffi, so relax its dependency after installing ffi 1.17.4. See chef/ffi-win32-extensions#14. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
fluent-plugin-parser-winevt_xml 0.3.1 falls back to REXML when nokogiri isn't installed, and it was the only gem that needed nokogiri. nokogiri also can't build its packaged libxml2 on ARM64 Windows. See sparklemotion/nokogiri#3470. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
The test scripts are the same as x86_64. They run directly on the runner because the windows-11-arm runner has no Docker. serverspec expects the replaced ffi on ARM64. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
This was referenced Oct 16, 2026
Contributor
Author
|
Superseded by #1132, which targets release-v610 for 6.1.0. |
kenhys
pushed a commit
that referenced
this pull request
Oct 20, 2026
Resolve #774 Fluentd now works on Windows 11 on Arm, so this builds an ARM64 msi for 6.1.0 in a new "Windows (ARM64)" workflow and runs the same package size check and installation tests as x86_64. Windows container images are amd64 only, so the msi is built and tested directly on the windows-11-arm runner with WiX 3.14.1. Until an ARM64 msi is released, the package size check compares it with the previous x86_64 msi. nokogiri is no longer bundled, because its packaged libxml2 can't be built on ARM64 (sparklemotion/nokogiri#3470). This also applies to x86_64. The winevt_xml parser uses REXML instead, and in_windows_eventlog2 checks bookmarks less strictly. The changelog tells how to install nokogiri. A new test loads every extension library after installing the msi without MSYS2, so a missing bundled DLL is caught on both architectures. MSYS2 on the windows-11-arm runner is hidden during the tests, because RubyInstaller would load DLLs from it. The current tests pass even with the x86_64 msi built from master, where winevt_c can't be loaded because libgcc_s_seh-1.dll isn't bundled. fluent-plugin-fluent-package-update-notifier is updated to 0.2.4, which checks the arm64 msi instead of the x86_64 one on ARM64 Windows. This is based on #1107 and supersedes #1130. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: Shizuo Fujita <fujita@clear-code.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
kenhys
pushed a commit
that referenced
this pull request
Oct 22, 2026
Resolve #774 Fluentd now works on Windows 11 on Arm, so this builds an ARM64 msi for 6.1.0 in a new "Windows (ARM64)" workflow and runs the same package size check and installation tests as x86_64. Windows container images are amd64 only, so the msi is built and tested directly on the windows-11-arm runner with WiX 3.14.1. Until an ARM64 msi is released, the package size check compares it with the previous x86_64 msi. nokogiri is no longer bundled, because its packaged libxml2 can't be built on ARM64 (sparklemotion/nokogiri#3470). This also applies to x86_64. The winevt_xml parser uses REXML instead, and in_windows_eventlog2 checks bookmarks less strictly. The changelog tells how to install nokogiri. A new test loads every extension library after installing the msi without MSYS2, so a missing bundled DLL is caught on both architectures. MSYS2 on the windows-11-arm runner is hidden during the tests, because RubyInstaller would load DLLs from it. The current tests pass even with the x86_64 msi built from master, where winevt_c can't be loaded because libgcc_s_seh-1.dll isn't bundled. fluent-plugin-fluent-package-update-notifier is updated to 0.2.4, which checks the arm64 msi instead of the x86_64 one on ARM64 Windows. This is based on #1107 and supersedes #1130. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: Shizuo Fujita <fujita@clear-code.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fluentd now works on Windows 11 on Arm, so this builds an ARM64 msi in a new "Windows (ARM64)" workflow and runs the same package size check and installation tests as x86_64. Windows container images are amd64 only, so the msi is built and tested directly on the windows-11-arm runner with WiX 3.14.1. Until an ARM64 msi is released, the package size check compares it with the previous x86_64 msi.
Some gems need changes for ARM64. winevt_c is updated to 0.11.6 because 0.11.2 doesn't compile with clang. nokogiri is no longer bundled, because its packaged libxml2 can't be built on ARM64 (sparklemotion/nokogiri#3470) and fluent-plugin-parser-winevt_xml 0.3.1 falls back to REXML. This also applies to x86_64. ffi is replaced with 1.17.4 on ARM64 only, because ffi 1.17.0 segfaults when registering the service and ffi-win32-extensions 1.1.0 doesn't allow newer ffi (chef/ffi-win32-extensions#14).
🤖 Generated with Claude Code