From 3d8dfbf51e0133e76e5dca4f408c8f7efb6698b3 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 17 Nov 2025 16:07:46 +0900 Subject: [PATCH 1/3] Skip TestCommitEmail if git is not available. https://github.com/ruby/actions/actions/runs/19420968008/job/55558315338 ``` 1) Error: TestCommitEmail#test_sendmail_encoding: Test::Unit::ProxyError: No such file or directory - git /home/runner/work/actions/actions/ruby-4.0.0-preview2/lib/open3.rb:534:in 'Kernel#spawn' /home/runner/work/actions/actions/ruby-4.0.0-preview2/lib/open3.rb:534:in 'Open3.popen_run' /home/runner/work/actions/actions/ruby-4.0.0-preview2/lib/open3.rb:379:in 'Open3.popen2' /home/runner/work/actions/actions/ruby-4.0.0-preview2/lib/open3.rb:785:in 'Open3.capture2' /home/runner/work/actions/actions/ruby-4.0.0-preview2/tool/test/test_commit_email.rb:89:in 'TestCommitEmail#git' /home/runner/work/actions/actions/ruby-4.0.0-preview2/tool/test/test_commit_email.rb:13:in 'block in TestCommitEmail#setup' /home/runner/work/actions/actions/ruby-4.0.0-preview2/tool/test/test_commit_email.rb:12:in 'Dir.chdir' /home/runner/work/actions/actions/ruby-4.0.0-preview2/tool/test/test_commit_email.rb:12:in 'TestCommitEmail#setup' 2) Error: TestCommitEmail#test_sendmail_encoding: Test::Unit::ProxyError: no implicit conversion of nil into String /home/runner/work/actions/actions/ruby-4.0.0-preview2/tool/test/test_commit_email.rb:37:in 'File.unlink' /home/runner/work/actions/actions/ruby-4.0.0-preview2/tool/test/test_commit_email.rb:37:in 'TestCommitEmail#teardown' ``` --- tool/test/test_commit_email.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tool/test/test_commit_email.rb b/tool/test/test_commit_email.rb index ffe28b8e57d28b..c7031f6c6ef818 100644 --- a/tool/test/test_commit_email.rb +++ b/tool/test/test_commit_email.rb @@ -8,6 +8,8 @@ class TestCommitEmail < Test::Unit::TestCase STDIN_DELIMITER = "---\n" def setup + omit 'git command is not available' unless system('git', '--version', out: File::NULL, err: File::NULL) + @ruby = Dir.mktmpdir Dir.chdir(@ruby) do git('init', '--initial-branch=master') From c32eb727bdde8b3e840198aaffb049a955d94783 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Mon, 17 Nov 2025 17:05:50 +0900 Subject: [PATCH 2/3] The prev_ver of 4.0.0 is 3.4.0 --- tool/format-release | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tool/format-release b/tool/format-release index 72fc173000371d..927a35d58c23de 100755 --- a/tool/format-release +++ b/tool/format-release @@ -65,11 +65,17 @@ eom elsif y != 0 prev_tag = "v#{x}_#{y-1}_0" prev_ver = "#{x}.#{y-1}.0" - elsif x == 3 && y == 0 && z == 0 - prev_tag = "v2_7_0" - prev_ver = "2.7.0" - else - raise "unexpected version for prev_ver '#{version}'" + else # y == 0 && z == 0 + case x + when 3 + prev_tag = "v2_7_0" + prev_ver = "2.7.0" + when 4 + prev_tag = "v3_4_0" + prev_ver = "3.4.0" + else + raise "it doesn't know what is the previous version of '#{version}'" + end end uri = "https://cache.ruby-lang.org/pub/tmp/ruby-info-#{version}-draft.yml" From 3bbd45dd86ba7a00319ba482bd09b15fc86b7466 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 17 Nov 2025 18:11:47 +0900 Subject: [PATCH 3/3] Fix `RUBY_API_VERSION_NAME` fallback definition --- version.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/version.c b/version.c index 0a3bc7bf9b91ae..b9c57a71b82b17 100644 --- a/version.c +++ b/version.c @@ -31,13 +31,15 @@ # endif # define RUBY_REVISION_STR " "RUBY_BRANCH_NAME" "RUBY_REVISION # else -# define RUBY_API_VERSION_NAME RUBY_API_VERSION_STR # define RUBY_REVISION_STR " revision "RUBY_REVISION # endif #else # define RUBY_REVISION "HEAD" # define RUBY_REVISION_STR "" #endif +#ifndef RUBY_API_VERSION_NAME +# define RUBY_API_VERSION_NAME RUBY_API_VERSION_STR +#endif #if !defined RUBY_RELEASE_DATETIME || RUBY_PATCHLEVEL != -1 # undef RUBY_RELEASE_DATETIME # define RUBY_RELEASE_DATETIME RUBY_RELEASE_DATE