From 229cf6e73ea301d958917f981c07235170e74c73 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 16:07:55 +0900 Subject: [PATCH 01/60] GH-48752: [Ruby] Fix ChunkedArray deadlock with Ractor.make_shareable on Windows --- ruby/red-arrow/lib/arrow/chunked-array.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ruby/red-arrow/lib/arrow/chunked-array.rb b/ruby/red-arrow/lib/arrow/chunked-array.rb index 0cdd9b6a6d2..48afb9af655 100644 --- a/ruby/red-arrow/lib/arrow/chunked-array.rb +++ b/ruby/red-arrow/lib/arrow/chunked-array.rb @@ -55,6 +55,14 @@ def to_arrow_chunked_array alias_method :chunks_raw, :chunks def chunks + # Ractor.make_shareable calls rb_obj_freeze() at C level, + # bypassing Ruby's freeze method. This leaves @chunks unset on a frozen object. + # Attempting to assign would cause FrozenError (or deadlock on Windows). + if frozen? && !instance_variable_defined?(:@chunks) + return chunks_raw + end + + # Normal path: cache and share input references @chunks ||= chunks_raw.tap do |_chunks| _chunks.each do |chunk| share_input(chunk) From 234df8461dc92637eef6687c41c85cdb4ecf7489 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 16:53:12 +0900 Subject: [PATCH 02/60] Trigger #2 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index 39593d4b0d9..25797253e87 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby +# Apache Arrow Ruby ! Here are the official Ruby bindings for Apache Arrow. From 49f07f4e49a21a45d12fe6533f1a38e9b3f87eed Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 17:08:52 +0900 Subject: [PATCH 03/60] Trigger #2 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index 25797253e87..a78261178ec 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby ! +# Apache Arrow Ruby 2 Here are the official Ruby bindings for Apache Arrow. From 6118b199c2c1f73146acef8bfc9ef6746d99c2de Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 17:34:54 +0900 Subject: [PATCH 04/60] print chunks --- ruby/red-arrow/test/test-ractor.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruby/red-arrow/test/test-ractor.rb b/ruby/red-arrow/test/test-ractor.rb index 2aef74d01a6..6a0c36dd7d8 100644 --- a/ruby/red-arrow/test/test-ractor.rb +++ b/ruby/red-arrow/test/test-ractor.rb @@ -23,7 +23,9 @@ class RactorTest < Test::Unit::TestCase require_ruby(3, 1, 0) array = Arrow::Array.new([1, 2, 3]) chunked_array = Arrow::ChunkedArray.new([array]) + p chunked_array.instance_variables Ractor.make_shareable(chunked_array) + p chunked_array.instance_variables ractor = Ractor.new do recived_chunked_array = Ractor.receive recived_chunked_array.chunks From ba3143a73fb89abd98e0019b4fd821ed5c738be8 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 19:05:43 +0900 Subject: [PATCH 05/60] Trigger #3 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index a78261178ec..b168aca9cf5 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby 2 +# Apache Arrow Ruby 3 Here are the official Ruby bindings for Apache Arrow. From cc883b18c245af67eed3f6684f5eb7a9deaa3af4 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 19:37:55 +0900 Subject: [PATCH 06/60] Trigger 4 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index b168aca9cf5..83738b95f7f 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby 3 +# Apache Arrow Ruby 4 Here are the official Ruby bindings for Apache Arrow. From d5fe42c3c58c771520523f86581479f7d7c8bc0b Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 20:08:00 +0900 Subject: [PATCH 07/60] Trigger 5 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index 83738b95f7f..5807630e599 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby 4 +# Apache Arrow Ruby 5 Here are the official Ruby bindings for Apache Arrow. From 7c0f31247dd3e6504bd541a61e2592e7c061ff34 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 06:41:46 +0900 Subject: [PATCH 08/60] Trigger 6 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index 5807630e599..4c73183ca9e 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby 5 +# Apache Arrow Ruby 6 Here are the official Ruby bindings for Apache Arrow. From 0059eeefbc117a84fef3ac15bf11213ea2b85ce5 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 09:07:32 +0900 Subject: [PATCH 09/60] Trigger 7 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index 4c73183ca9e..28b54a09a49 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby 6 +# Apache Arrow Ruby 7 Here are the official Ruby bindings for Apache Arrow. From 88e742a557d9b21149130b3129a13fbf4876f2b4 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 11:35:14 +0900 Subject: [PATCH 10/60] Trigger 8 --- ruby/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index 28b54a09a49..e346de56b4e 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -17,7 +17,7 @@ under the License. --> -# Apache Arrow Ruby 7 +# Apache Arrow Ruby 8 Here are the official Ruby bindings for Apache Arrow. From ed8f8d3c8748127d94c14279ab50fc584eb906e9 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 13:17:48 +0900 Subject: [PATCH 11/60] print more. Trigger 1 --- ruby/red-arrow/lib/arrow/chunked-array.rb | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ruby/red-arrow/lib/arrow/chunked-array.rb b/ruby/red-arrow/lib/arrow/chunked-array.rb index 48afb9af655..9731159b46d 100644 --- a/ruby/red-arrow/lib/arrow/chunked-array.rb +++ b/ruby/red-arrow/lib/arrow/chunked-array.rb @@ -55,19 +55,30 @@ def to_arrow_chunked_array alias_method :chunks_raw, :chunks def chunks + warn "DEBUG 1: frozen=#{frozen?}, has_@chunks=#{instance_variable_defined?(:@chunks)}" + # Ractor.make_shareable calls rb_obj_freeze() at C level, # bypassing Ruby's freeze method. This leaves @chunks unset on a frozen object. # Attempting to assign would cause FrozenError (or deadlock on Windows). if frozen? && !instance_variable_defined?(:@chunks) + warn "DEBUG 2: Taking workaround path" return chunks_raw end + warn "DEBUG 3: About to call @chunks ||=" # Normal path: cache and share input references - @chunks ||= chunks_raw.tap do |_chunks| - _chunks.each do |chunk| - share_input(chunk) + @chunks ||= begin + warn "DEBUG 4: Inside ||= block, calling chunks_raw" + chunks_raw.tap do |_chunks| + warn "DEBUG 5: Got chunks, about to iterate" + _chunks.each do |chunk| + share_input(chunk) + end + warn "DEBUG 6: Done iterating" end end + warn "DEBUG 7: Returning @chunks" + @chunks end alias_method :get_chunk_raw, :get_chunk From 00ed11e88f0201486233f87831efa7a2ea9d7baf Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 13:31:00 +0900 Subject: [PATCH 12/60] aa --- ruby/red-arrow/lib/arrow/chunked-array.rb | 24 ++++------------------- ruby/red-arrow/test/test-ractor.rb | 5 +++-- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/ruby/red-arrow/lib/arrow/chunked-array.rb b/ruby/red-arrow/lib/arrow/chunked-array.rb index 9731159b46d..44b9728f073 100644 --- a/ruby/red-arrow/lib/arrow/chunked-array.rb +++ b/ruby/red-arrow/lib/arrow/chunked-array.rb @@ -55,30 +55,14 @@ def to_arrow_chunked_array alias_method :chunks_raw, :chunks def chunks - warn "DEBUG 1: frozen=#{frozen?}, has_@chunks=#{instance_variable_defined?(:@chunks)}" - - # Ractor.make_shareable calls rb_obj_freeze() at C level, - # bypassing Ruby's freeze method. This leaves @chunks unset on a frozen object. - # Attempting to assign would cause FrozenError (or deadlock on Windows). - if frozen? && !instance_variable_defined?(:@chunks) - warn "DEBUG 2: Taking workaround path" + if frozen? return chunks_raw end - - warn "DEBUG 3: About to call @chunks ||=" - # Normal path: cache and share input references - @chunks ||= begin - warn "DEBUG 4: Inside ||= block, calling chunks_raw" - chunks_raw.tap do |_chunks| - warn "DEBUG 5: Got chunks, about to iterate" - _chunks.each do |chunk| - share_input(chunk) - end - warn "DEBUG 6: Done iterating" + @chunks ||= chunks_raw.tap do |_chunks| + _chunks.each do |chunk| + share_input(chunk) end end - warn "DEBUG 7: Returning @chunks" - @chunks end alias_method :get_chunk_raw, :get_chunk diff --git a/ruby/red-arrow/test/test-ractor.rb b/ruby/red-arrow/test/test-ractor.rb index 6a0c36dd7d8..5830c836186 100644 --- a/ruby/red-arrow/test/test-ractor.rb +++ b/ruby/red-arrow/test/test-ractor.rb @@ -23,11 +23,12 @@ class RactorTest < Test::Unit::TestCase require_ruby(3, 1, 0) array = Arrow::Array.new([1, 2, 3]) chunked_array = Arrow::ChunkedArray.new([array]) - p chunked_array.instance_variables + warn chunked_array.instance_variables Ractor.make_shareable(chunked_array) - p chunked_array.instance_variables + warn chunked_array.instance_variables ractor = Ractor.new do recived_chunked_array = Ractor.receive + warn recived_chunked_array.instance_variables recived_chunked_array.chunks end ractor.send(chunked_array) From e3e8cd6f0bc4fd2bb1ff7e7e79271c06479ad35c Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 13:57:52 +0900 Subject: [PATCH 13/60] Explicitly raise. Trigger 1 --- ruby/red-arrow/lib/arrow/chunked-array.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruby/red-arrow/lib/arrow/chunked-array.rb b/ruby/red-arrow/lib/arrow/chunked-array.rb index 44b9728f073..57b69391fb8 100644 --- a/ruby/red-arrow/lib/arrow/chunked-array.rb +++ b/ruby/red-arrow/lib/arrow/chunked-array.rb @@ -55,8 +55,8 @@ def to_arrow_chunked_array alias_method :chunks_raw, :chunks def chunks - if frozen? - return chunks_raw + if frozen? && !instance_variable_defined?(:@chunks) + raise "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" end @chunks ||= chunks_raw.tap do |_chunks| _chunks.each do |chunk| From 6e894dc3d915c63368236ec836fb0a9e342b3e6f Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:04:41 +0900 Subject: [PATCH 14/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index e346de56b4e..7340ded789d 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -166,3 +166,4 @@ amounts.join(levels, [:name]) # 1 Max 2 Max 1 # 2 Kate 3 Kate 9 ``` +a From 6916ef93de35b8754798b96e139bf5fb374a536c Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:35:24 +0900 Subject: [PATCH 15/60] off cancel in progress --- .github/workflows/ruby.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 1e91f624878..add47d04d20 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -56,7 +56,7 @@ on: concurrency: group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} - cancel-in-progress: true + cancel-in-progress: false permissions: contents: read @@ -70,7 +70,7 @@ jobs: ubuntu: name: AMD64 Ubuntu ${{ matrix.ubuntu }} GLib & Ruby runs-on: ubuntu-latest - if: ${{ !contains(github.event.pull_request.title, 'WIP') }} + if: false timeout-minutes: 60 strategy: fail-fast: false @@ -126,7 +126,7 @@ jobs: macos: name: ARM64 macOS 14 GLib & Ruby runs-on: macos-latest - if: ${{ !contains(github.event.pull_request.title, 'WIP') }} + if: false timeout-minutes: 60 env: ARROW_BUILD_STATIC: OFF @@ -315,7 +315,7 @@ jobs: windows-msvc: name: AMD64 Windows MSVC GLib runs-on: windows-2022 - if: ${{ !contains(github.event.pull_request.title, 'WIP') }} + if: false timeout-minutes: 240 strategy: fail-fast: false From 67f6cb388c2b21cbc9b35683f68df126c9b958fb Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:36:00 +0900 Subject: [PATCH 16/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 7340ded789d..2fb6f3b3a8e 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -167,3 +167,4 @@ amounts.join(levels, [:name]) # 2 Kate 3 Kate 9 ``` a +a From cc4a2fb6e30faa4fd23f9605e316c140887637a5 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:36:06 +0900 Subject: [PATCH 17/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 2fb6f3b3a8e..d288596c900 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -168,3 +168,4 @@ amounts.join(levels, [:name]) ``` a a +a From 4b37402b717a39c8a813d2580bdb4d8c33657b0e Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:36:13 +0900 Subject: [PATCH 18/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index d288596c900..7c317c39094 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -169,3 +169,4 @@ amounts.join(levels, [:name]) a a a +a From 1b6a885681f0b4b5e0e6234ca953a61506035a86 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:36:19 +0900 Subject: [PATCH 19/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 7c317c39094..af755bba060 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -170,3 +170,4 @@ a a a a +a From 623be01dcbc87a58c37d101dfbcaeed5c6631a95 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:40:01 +0900 Subject: [PATCH 20/60] disable path for now --- .github/workflows/ruby.yml | 58 ++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index add47d04d20..7debbfed745 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -24,35 +24,37 @@ on: - '!dependabot/**' tags: - '**' - paths: - - '.dockerignore' - - '.github/workflows/ruby.yml' - - 'ci/docker/**' - - 'ci/scripts/c_glib_*' - - 'ci/scripts/ccache_setup.sh' - - 'ci/scripts/cpp_*' - - 'ci/scripts/msys2_*' - - 'ci/scripts/ruby_*' - - 'ci/scripts/util_*' - - 'c_glib/**' - - 'cpp/**' - - 'compose.yaml' - - 'ruby/**' + # TODO: Temporarily disabled for testing - restore before merging + # paths: + # - '.dockerignore' + # - '.github/workflows/ruby.yml' + # - 'ci/docker/**' + # - 'ci/scripts/c_glib_*' + # - 'ci/scripts/ccache_setup.sh' + # - 'ci/scripts/cpp_*' + # - 'ci/scripts/msys2_*' + # - 'ci/scripts/ruby_*' + # - 'ci/scripts/util_*' + # - 'c_glib/**' + # - 'cpp/**' + # - 'compose.yaml' + # - 'ruby/**' pull_request: - paths: - - '.dockerignore' - - '.github/workflows/ruby.yml' - - 'ci/docker/**' - - 'ci/scripts/c_glib_*' - - 'ci/scripts/ccache_setup.sh' - - 'ci/scripts/cpp_*' - - 'ci/scripts/msys2_*' - - 'ci/scripts/ruby_*' - - 'ci/scripts/util_*' - - 'c_glib/**' - - 'cpp/**' - - 'compose.yaml' - - 'ruby/**' + # TODO: Temporarily disabled for testing - restore before merging + # paths: + # - '.dockerignore' + # - '.github/workflows/ruby.yml' + # - 'ci/docker/**' + # - 'ci/scripts/c_glib_*' + # - 'ci/scripts/ccache_setup.sh' + # - 'ci/scripts/cpp_*' + # - 'ci/scripts/msys2_*' + # - 'ci/scripts/ruby_*' + # - 'ci/scripts/util_*' + # - 'c_glib/**' + # - 'cpp/**' + # - 'compose.yaml' + # - 'ruby/**' concurrency: group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} From e0798428372ba0d013adfe7d622302bba585061c Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:42:20 +0900 Subject: [PATCH 21/60] trigger windows ruby test --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index af755bba060..516eafa7a53 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -171,3 +171,4 @@ a a a a +trigger From 1ea87cfd3294eb6b8520a6f24722d97441e1db8b Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:43:17 +0900 Subject: [PATCH 22/60] Revert "off cancel in progress" This reverts commit 6916ef93de35b8754798b96e139bf5fb374a536c. --- .github/workflows/ruby.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 7debbfed745..bd765650095 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -58,7 +58,7 @@ on: concurrency: group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} - cancel-in-progress: false + cancel-in-progress: true permissions: contents: read @@ -72,7 +72,7 @@ jobs: ubuntu: name: AMD64 Ubuntu ${{ matrix.ubuntu }} GLib & Ruby runs-on: ubuntu-latest - if: false + if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 60 strategy: fail-fast: false @@ -128,7 +128,7 @@ jobs: macos: name: ARM64 macOS 14 GLib & Ruby runs-on: macos-latest - if: false + if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 60 env: ARROW_BUILD_STATIC: OFF @@ -317,7 +317,7 @@ jobs: windows-msvc: name: AMD64 Windows MSVC GLib runs-on: windows-2022 - if: false + if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 240 strategy: fail-fast: false From e331c513840059c31a8a584f4d3a1afbc9723944 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:43:30 +0900 Subject: [PATCH 23/60] Revert "disable path for now" This reverts commit 623be01dcbc87a58c37d101dfbcaeed5c6631a95. --- .github/workflows/ruby.yml | 58 ++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index bd765650095..1e91f624878 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -24,37 +24,35 @@ on: - '!dependabot/**' tags: - '**' - # TODO: Temporarily disabled for testing - restore before merging - # paths: - # - '.dockerignore' - # - '.github/workflows/ruby.yml' - # - 'ci/docker/**' - # - 'ci/scripts/c_glib_*' - # - 'ci/scripts/ccache_setup.sh' - # - 'ci/scripts/cpp_*' - # - 'ci/scripts/msys2_*' - # - 'ci/scripts/ruby_*' - # - 'ci/scripts/util_*' - # - 'c_glib/**' - # - 'cpp/**' - # - 'compose.yaml' - # - 'ruby/**' + paths: + - '.dockerignore' + - '.github/workflows/ruby.yml' + - 'ci/docker/**' + - 'ci/scripts/c_glib_*' + - 'ci/scripts/ccache_setup.sh' + - 'ci/scripts/cpp_*' + - 'ci/scripts/msys2_*' + - 'ci/scripts/ruby_*' + - 'ci/scripts/util_*' + - 'c_glib/**' + - 'cpp/**' + - 'compose.yaml' + - 'ruby/**' pull_request: - # TODO: Temporarily disabled for testing - restore before merging - # paths: - # - '.dockerignore' - # - '.github/workflows/ruby.yml' - # - 'ci/docker/**' - # - 'ci/scripts/c_glib_*' - # - 'ci/scripts/ccache_setup.sh' - # - 'ci/scripts/cpp_*' - # - 'ci/scripts/msys2_*' - # - 'ci/scripts/ruby_*' - # - 'ci/scripts/util_*' - # - 'c_glib/**' - # - 'cpp/**' - # - 'compose.yaml' - # - 'ruby/**' + paths: + - '.dockerignore' + - '.github/workflows/ruby.yml' + - 'ci/docker/**' + - 'ci/scripts/c_glib_*' + - 'ci/scripts/ccache_setup.sh' + - 'ci/scripts/cpp_*' + - 'ci/scripts/msys2_*' + - 'ci/scripts/ruby_*' + - 'ci/scripts/util_*' + - 'c_glib/**' + - 'cpp/**' + - 'compose.yaml' + - 'ruby/**' concurrency: group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} From dbf5091b1f16479e2231fae72570a1cb0b3499b5 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:45:46 +0900 Subject: [PATCH 24/60] disable concurrency for parallel testing --- .github/workflows/ruby.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 1e91f624878..bffcd353e8e 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -54,9 +54,10 @@ on: - 'compose.yaml' - 'ruby/**' -concurrency: - group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} - cancel-in-progress: true +# TODO: Temporarily disabled for testing - restore before merging +# concurrency: +# group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} +# cancel-in-progress: true permissions: contents: read From 98f84b2f1b272cd105824a3cbd018206c1a39345 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:47:23 +0900 Subject: [PATCH 25/60] disable unrelated ruby tests - only run windows mingw --- .github/workflows/ruby.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index bffcd353e8e..6f20e5b02ac 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -54,7 +54,6 @@ on: - 'compose.yaml' - 'ruby/**' -# TODO: Temporarily disabled for testing - restore before merging # concurrency: # group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} # cancel-in-progress: true @@ -71,7 +70,7 @@ jobs: ubuntu: name: AMD64 Ubuntu ${{ matrix.ubuntu }} GLib & Ruby runs-on: ubuntu-latest - if: ${{ !contains(github.event.pull_request.title, 'WIP') }} + if: false timeout-minutes: 60 strategy: fail-fast: false @@ -127,7 +126,7 @@ jobs: macos: name: ARM64 macOS 14 GLib & Ruby runs-on: macos-latest - if: ${{ !contains(github.event.pull_request.title, 'WIP') }} + if: false timeout-minutes: 60 env: ARROW_BUILD_STATIC: OFF @@ -316,7 +315,7 @@ jobs: windows-msvc: name: AMD64 Windows MSVC GLib runs-on: windows-2022 - if: ${{ !contains(github.event.pull_request.title, 'WIP') }} + if: false timeout-minutes: 240 strategy: fail-fast: false From a6e4f4bfad7fe65db7e8ee088963cd7d751374e3 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:48:45 +0900 Subject: [PATCH 26/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 516eafa7a53..78d27cefe62 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -172,3 +172,4 @@ a a a trigger +a From 060fcc9af28fc61e882e32607d55db61bfe192d5 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:48:56 +0900 Subject: [PATCH 27/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 78d27cefe62..7b33ed4ebd6 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -173,3 +173,4 @@ a a trigger a +a From 56370e49e558b10b10dfc5c4a326c9183e92d4e0 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:49:07 +0900 Subject: [PATCH 28/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 7b33ed4ebd6..504a10e1665 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -174,3 +174,4 @@ a trigger a a +a From 55c8773d22e7b142a90240ef0c365921ab896326 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:49:18 +0900 Subject: [PATCH 29/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 504a10e1665..92cda24af88 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -175,3 +175,4 @@ trigger a a a +a From 4475dbf0d2f84c2fd95f942d52d930397fc3abe3 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:49:28 +0900 Subject: [PATCH 30/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 92cda24af88..21fa543fff2 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -176,3 +176,4 @@ a a a a +a From db16d863403b1d80ea7c609390c00b4b0b7e5bb4 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:49:39 +0900 Subject: [PATCH 31/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 21fa543fff2..f3199974e56 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -177,3 +177,4 @@ a a a a +a From 1517beef0217984e70beb8845fe866f244ac797a Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:49:49 +0900 Subject: [PATCH 32/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index f3199974e56..d29b17da021 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -178,3 +178,4 @@ a a a a +a From 1de75d260522ea52a229ffd1ae34dc6333c0cbbe Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:50:00 +0900 Subject: [PATCH 33/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index d29b17da021..b79ceb47a44 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -179,3 +179,4 @@ a a a a +a From ac169fc8db84ffffdfe055f9698dbc6a43079d9e Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:50:10 +0900 Subject: [PATCH 34/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index b79ceb47a44..b8b1544983d 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -180,3 +180,4 @@ a a a a +a From ffad71bd4a1d26f46ee2d094bebd4990e2fb427c Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:50:21 +0900 Subject: [PATCH 35/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index b8b1544983d..67d4c5cce10 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -181,3 +181,4 @@ a a a a +a From e4eb9b3d22781ea859fc21476175730dc2acf4e9 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:53:36 +0900 Subject: [PATCH 36/60] use unique group per run for parallel execution --- .github/workflows/ruby.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 6f20e5b02ac..8942e5ea828 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -54,9 +54,9 @@ on: - 'compose.yaml' - 'ruby/**' -# concurrency: -# group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} -# cancel-in-progress: true +concurrency: + group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}-${{ github.run_id }} + cancel-in-progress: false permissions: contents: read From 4cfe6d1bda13377895d549e11c7ed53ca698f045 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:56:10 +0900 Subject: [PATCH 37/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 67d4c5cce10..2b8817b2480 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -182,3 +182,4 @@ a a a a +a From edabb70998c416e36187d876ca08f29e12104650 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:56:21 +0900 Subject: [PATCH 38/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 2b8817b2480..212ebefc11c 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -183,3 +183,4 @@ a a a a +a From 4113b363398f8a95fa53f28619c8f1069aecdc81 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:56:31 +0900 Subject: [PATCH 39/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 212ebefc11c..2ba4fee6c22 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -184,3 +184,4 @@ a a a a +a From fbae652d930455f0fe9d6e04b90908780f35dedf Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:56:42 +0900 Subject: [PATCH 40/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 2ba4fee6c22..9c33ea0b69f 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -185,3 +185,4 @@ a a a a +a From ed7f162ddf5cde9362c29b62e5b705946216ee03 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:56:52 +0900 Subject: [PATCH 41/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 9c33ea0b69f..bfd7be20e52 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -186,3 +186,4 @@ a a a a +a From d5aec009e3eb0a4d564de3d4136ca1c162b28b59 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:57:03 +0900 Subject: [PATCH 42/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index bfd7be20e52..058dbbf0ebd 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -187,3 +187,4 @@ a a a a +a From 886e57ab3f5d1592c36b6cf609344790a0263b08 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:57:13 +0900 Subject: [PATCH 43/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 058dbbf0ebd..922cce82b03 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -188,3 +188,4 @@ a a a a +a From e7cf413c24f6d87f4cafdda0f747f4732cef26d9 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:57:24 +0900 Subject: [PATCH 44/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 922cce82b03..71d43db50a0 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -189,3 +189,4 @@ a a a a +a From 8cfb763e8fec0c4ecf94e33f3014bd0d7bcfaab0 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:57:34 +0900 Subject: [PATCH 45/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 71d43db50a0..abbbb27bc4b 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -190,3 +190,4 @@ a a a a +a From 666802930b4235c76f05c70992eb7f7104521086 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 14:57:44 +0900 Subject: [PATCH 46/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index abbbb27bc4b..4dc7fad6745 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -191,3 +191,4 @@ a a a a +a From fe0ba8d10e52e790ca096e52a4cc2330f9f31e41 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 15:49:36 +0900 Subject: [PATCH 47/60] trigger cpp extra --- cpp/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/cpp/README.md b/cpp/README.md index 321dd409d0e..64b72bdf231 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -32,3 +32,4 @@ to install pre-compiled binary versions of the library. Please refer to our latest [C++ Development Documentation][1]. [1]: https://arrow.apache.org/docs/dev/developers/cpp/ +test From 52a43be0b3201bc286c7427b83cd776ba8b17d72 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:03:37 +0900 Subject: [PATCH 48/60] Revert "trigger cpp extra" This reverts commit fe0ba8d10e52e790ca096e52a4cc2330f9f31e41. --- cpp/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/cpp/README.md b/cpp/README.md index 64b72bdf231..321dd409d0e 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -32,4 +32,3 @@ to install pre-compiled binary versions of the library. Please refer to our latest [C++ Development Documentation][1]. [1]: https://arrow.apache.org/docs/dev/developers/cpp/ -test From 7b194a699452dc4508297e266052b3e74bbd3dff Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:04:39 +0900 Subject: [PATCH 49/60] try builds with return chunks_raw fix --- ruby/red-arrow/lib/arrow/chunked-array.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby/red-arrow/lib/arrow/chunked-array.rb b/ruby/red-arrow/lib/arrow/chunked-array.rb index 57b69391fb8..dc18ad76473 100644 --- a/ruby/red-arrow/lib/arrow/chunked-array.rb +++ b/ruby/red-arrow/lib/arrow/chunked-array.rb @@ -56,7 +56,7 @@ def to_arrow_chunked_array alias_method :chunks_raw, :chunks def chunks if frozen? && !instance_variable_defined?(:@chunks) - raise "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + return chunks_raw end @chunks ||= chunks_raw.tap do |_chunks| _chunks.each do |chunk| From 35083da293116ab74eda72028527457d5a78849f Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:06:34 +0900 Subject: [PATCH 50/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 4dc7fad6745..4e7d9632a32 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -192,3 +192,4 @@ a a a a +a From b2163460e5d8d62a4caae7d204750c552dda241d Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:06:41 +0900 Subject: [PATCH 51/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 4e7d9632a32..62d7ea5f113 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -193,3 +193,4 @@ a a a a +a From 2eb150ba93cab242139a0d88bd0b15d5bb13e86d Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:06:47 +0900 Subject: [PATCH 52/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 62d7ea5f113..5f81296bf9e 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -194,3 +194,4 @@ a a a a +a From 3ef99d6b8ee60c397f1d978268d75333aa4e5256 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:06:54 +0900 Subject: [PATCH 53/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 5f81296bf9e..d7384da0505 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -195,3 +195,4 @@ a a a a +a From 535c67cc5ca55ac3066ccbc215820fa88739e5f1 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:07:00 +0900 Subject: [PATCH 54/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index d7384da0505..6f452ad8341 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -196,3 +196,4 @@ a a a a +a From cdd812ccefdcb0ab8f1ae056e409c27c4f9bdf3d Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:07:07 +0900 Subject: [PATCH 55/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 6f452ad8341..58113f8c171 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -197,3 +197,4 @@ a a a a +a From f4371a986d463bf7c79bbbe0275a46ebd9a39e9f Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:07:13 +0900 Subject: [PATCH 56/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 58113f8c171..bb874030ae7 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -198,3 +198,4 @@ a a a a +a From 66394112a8606dc2e5f376bc6d132a4460dee5c9 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:07:20 +0900 Subject: [PATCH 57/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index bb874030ae7..8ddc84be95c 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -199,3 +199,4 @@ a a a a +a From a092bd40ff4bd5a9a5ec643bf20d924748f63072 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:07:26 +0900 Subject: [PATCH 58/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 8ddc84be95c..da1433537a4 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -200,3 +200,4 @@ a a a a +a From 5a18f13b18332b706d5154b413ca7616c74b5ec9 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:07:33 +0900 Subject: [PATCH 59/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index da1433537a4..6b640688fdf 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -201,3 +201,4 @@ a a a a +a From ea7ffcc01563a8c0c68d5ba447bbb60d7d2ce23b Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Thu, 8 Jan 2026 16:07:40 +0900 Subject: [PATCH 60/60] trigger --- ruby/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ruby/README.md b/ruby/README.md index 6b640688fdf..9d64573ffe7 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -202,3 +202,4 @@ a a a a +a