From ac529aa661ca492242720d6d11ab8d95274e9a5d Mon Sep 17 00:00:00 2001 From: Shizuo Fujita Date: Tue, 10 Mar 2026 14:10:20 +0900 Subject: [PATCH 1/2] Add Windows curl DLL names --- lib/ethon/curls/settings.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ethon/curls/settings.rb b/lib/ethon/curls/settings.rb index 8c0161b4..e732682c 100644 --- a/lib/ethon/curls/settings.rb +++ b/lib/ethon/curls/settings.rb @@ -7,6 +7,6 @@ module Curl callback :debug_callback, [:pointer, :debug_info_type, :pointer, :size_t, :pointer], :int callback :progress_callback, [:pointer, :long_long, :long_long, :long_long, :long_long], :int ffi_lib_flags :now, :global - ffi_lib ['libcurl', 'libcurl.so.4'] + ffi_lib ['libcurl', 'libcurl.so.4', 'libcurl-4', 'libcurl-x64', 'libcurl-arm64'] end end From 6fe79c44db73bd0a5c3c994360562ecd3ff56486 Mon Sep 17 00:00:00 2001 From: Shizuo Fujita Date: Tue, 10 Mar 2026 14:10:45 +0900 Subject: [PATCH 2/2] Add Windows in CI --- .github/workflows/ruby.yml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index ed465cc0..26bb13fc 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -19,19 +19,28 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu, macos] + os: [ubuntu, macos, windows] ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4', head, debug, truffleruby] + exclude: + - os: windows + ruby-version: debug + - os: windows + ruby-version: truffleruby continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }} steps: - uses: actions/checkout@v3 - - name: Install libcurl header + - name: Install libcurl (Ubuntu) + if: matrix.os == 'ubuntu' run: | - if ${{ matrix.os == 'macos' }} - then - brew install curl - else - sudo apt update && sudo apt install -y --no-install-recommends libcurl4-openssl-dev - fi + sudo apt update && sudo apt install -y --no-install-recommends libcurl4-openssl-dev + - name: Install libcurl (macOS) + if: matrix.os == 'macos' + run: | + brew install curl + - name: Install libcurl (Windows) + if: matrix.os == 'windows' + run: | + ridk exec pacman -S --noconfirm mingw-w64-ucrt-x86_64-curl mingw-w64-x86_64-curl - name: Set up Ruby uses: ruby/setup-ruby@v1 with: