From b728e28bec8edd83fe01e3c8ada6d3aa78662b6b Mon Sep 17 00:00:00 2001 From: sue445 Date: Thu, 11 Jun 2026 00:24:50 +0900 Subject: [PATCH 1/3] ci: Add Ruby 4.0 to CI matrix --- .github/workflows/conformance.yml | 2 +- .github/workflows/unit.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml index 7f083e5..641da80 100644 --- a/.github/workflows/conformance.yml +++ b/.github/workflows/conformance.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby: ['3.1', '3.2', '3.3', '3.4'] + ruby: ['3.1', '3.2', '3.3', '3.4', '4.0'] puma: ['~> 6.0', '~> 7.0', '~> 8.0'] env: FF_DEPENDENCY_TEST_PUMA: ${{ matrix.puma }} diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index 8cef7f7..20325e5 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - ruby: ['3.1', '3.2', '3.3', '3.4'] + ruby: ['3.1', '3.2', '3.3', '3.4', '4.0'] flags: ["--only --test-unit", "--only --test-dependencies"] include: - os: ubuntu-latest From 85645636ef28909113b53714731afab738f855d7 Mon Sep 17 00:00:00 2001 From: sue445 Date: Thu, 11 Jun 2026 00:22:35 +0900 Subject: [PATCH 2/3] fix: 'Kernel.require': cannot load such file -- logger (LoadError) in Ruby 4.0 ``` $ toys ci /Users/sue445/workspace/github.com/GoogleCloudPlatform/functions-framework-ruby/lib/functions_framework.rb:15: warning: logger used to be loaded from the standard library, but is not part of the default gems since Ruby 4.0.0. You can add logger to your Gemfile or gemspec to fix this error. /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require': cannot load such file -- logger (LoadError) from /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require' from /Users/sue445/workspace/github.com/GoogleCloudPlatform/functions-framework-ruby/lib/functions_framework.rb:15:in '' from /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require' from /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require' from /Users/sue445/workspace/github.com/GoogleCloudPlatform/functions-framework-ruby/test/helper.rb:19:in '' from /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require' from /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require' ``` --- functions_framework.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/functions_framework.gemspec b/functions_framework.gemspec index 7c0686b..5adf81a 100644 --- a/functions_framework.gemspec +++ b/functions_framework.gemspec @@ -46,6 +46,7 @@ version = ::FunctionsFramework::VERSION spec.required_ruby_version = ">= 3.1.0" spec.add_dependency "cloud_events", ">= 0.7.0", "< 2.a" + spec.add_dependency "logger", ">= 1.2.7.1", "< 2.a" spec.add_dependency "puma", ">= 4.3.0", "< 9.a" spec.add_dependency "rack", ">= 2.1", "< 4.a" From 52ac14b087746ce20ae67c744e54a3c3ca04266e Mon Sep 17 00:00:00 2001 From: sue445 Date: Thu, 11 Jun 2026 00:26:45 +0900 Subject: [PATCH 3/3] fix: 'Kernel.require': cannot load such file -- ostruct (LoadError) in Ruby 4.0 ``` $ toys ci test/test_function.rb:16: warning: ostruct used to be loaded from the standard library, but is not part of the default gems since Ruby 4.0.0. You can add ostruct to your Gemfile or gemspec to fix this error. /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require': cannot load such file -- ostruct (LoadError) Did you mean? tsort from /Users/sue445/.rbenv/versions/4.0.2/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require' from test/test_function.rb:16:in '' from /var/folders/kh/pcns6sf91tnfk6k6b4vqtz8r0000gn/T/toys-minitest-script-20260611-15935-rmwq9y.rb:7:in 'Kernel#load' from /var/folders/kh/pcns6sf91tnfk6k6b4vqtz8r0000gn/T/toys-minitest-script-20260611-15935-rmwq9y.rb:7:in '
' ``` --- functions_framework.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/functions_framework.gemspec b/functions_framework.gemspec index 5adf81a..e2e6bb7 100644 --- a/functions_framework.gemspec +++ b/functions_framework.gemspec @@ -47,6 +47,7 @@ version = ::FunctionsFramework::VERSION spec.required_ruby_version = ">= 3.1.0" spec.add_dependency "cloud_events", ">= 0.7.0", "< 2.a" spec.add_dependency "logger", ">= 1.2.7.1", "< 2.a" + spec.add_dependency "ostruct", ">= 0.1.0", "< 1.a" spec.add_dependency "puma", ">= 4.3.0", "< 9.a" spec.add_dependency "rack", ">= 2.1", "< 4.a"