in dev/release/post-12-bump-versions-test.rb [91:379]
def test_version_post_tag
omit_on_release_branch
case bump_type
when :patch, :minor
expected_changes = [
{
path: "ci/scripts/PKGBUILD",
hunks: [
["-pkgver=#{@previous_version}.9000",
"+pkgver=#{released_version}.9000"],
],
},
]
if bump_type == :minor
expected_changes += [
{
path: "docs/source/_static/versions.json",
hunks: [
[
"- \"name\": \"#{@previous_compatible_version} (stable)\",",
"+ \"name\": \"#{released_compatible_version} (stable)\",",
"+ {",
"+ \"name\": \"#{@previous_compatible_version}\",",
"+ \"version\": \"#{@previous_compatible_version}/\",",
"+ \"url\": \"https://arrow.apache.org/docs/#{@previous_compatible_version}/\"",
"+ },",
],
],
},
]
end
expected_changes += [
{
path: "r/DESCRIPTION",
hunks: [
["-Version: #{@previous_version}.9000",
"+Version: #{released_version}.9000"],
],
},
{
path: "r/NEWS.md",
hunks: [
["-# arrow #{@previous_version}.9000",
"+# arrow #{released_version}.9000",
"+",
"+# arrow #{released_version}",],
],
},
{
path: "r/pkgdown/assets/versions.html",
hunks: [
[
"-<body><p><a href=\"../dev/r/\">#{@previous_version}.9000 (dev)</a></p>",
"-<p><a href=\"../r/\">#{@previous_r_version} (release)</a></p>",
"+<body><p><a href=\"../dev/r/\">#{released_version}.9000 (dev)</a></p>",
"+<p><a href=\"../r/\">#{released_version} (release)</a></p>",
],
],
},
{
path: "r/pkgdown/assets/versions.json",
hunks: [
[
"- \"name\": \"#{@previous_version}.9000 (dev)\",",
"+ \"name\": \"#{released_version}.9000 (dev)\",",
"- \"name\": \"#{@previous_r_version} (release)\",",
"+ \"name\": \"#{released_version} (release)\",",
],
],
},
]
else
expected_changes = [
{
path: "c_glib/meson.build",
hunks: [
["- version: '#{@snapshot_version}',",
"+ version: '#{@next_snapshot_version}',"],
],
},
{
path: "c_glib/vcpkg.json",
hunks: [
["- \"version-string\": \"#{@snapshot_version}\",",
"+ \"version-string\": \"#{@next_snapshot_version}\","],
],
},
{
path: "ci/scripts/PKGBUILD",
hunks: [
["-pkgver=#{@previous_version}.9000",
"+pkgver=#{@release_version}.9000"],
],
},
{
path: "cpp/CMakeLists.txt",
hunks: [
["-set(ARROW_VERSION \"#{@snapshot_version}\")",
"+set(ARROW_VERSION \"#{@next_snapshot_version}\")"],
],
},
{
path: "cpp/meson.build",
hunks: [
["- version: '#{@snapshot_version}',",
"+ version: '#{@next_snapshot_version}',"],
],
},
{
path: "cpp/vcpkg.json",
hunks: [
["- \"version-string\": \"#{@snapshot_version}\",",
"+ \"version-string\": \"#{@next_snapshot_version}\","],
],
},
{
path: "csharp/Directory.Build.props",
hunks: [
["- <Version>#{@snapshot_version}</Version>",
"+ <Version>#{@next_snapshot_version}</Version>"],
],
},
{
path: "dev/tasks/homebrew-formulae/apache-arrow-glib.rb",
hunks: [
["- url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@snapshot_version}/apache-arrow-#{@snapshot_version}.tar.gz\"",
"+ url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@next_snapshot_version}/apache-arrow-#{@next_snapshot_version}.tar.gz\""],
],
},
{
path: "dev/tasks/homebrew-formulae/apache-arrow.rb",
hunks: [
["- url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@snapshot_version}/apache-arrow-#{@snapshot_version}.tar.gz\"",
"+ url \"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@next_snapshot_version}/apache-arrow-#{@next_snapshot_version}.tar.gz\""],
],
},
]
unless next_release_type == :patch
expected_changes += [
{
path: "docs/source/_static/versions.json",
hunks: [
[
"- \"name\": \"#{@release_compatible_version} (dev)\",",
"+ \"name\": \"#{@next_compatible_version} (dev)\",",
"- \"name\": \"#{@previous_compatible_version} (stable)\",",
"+ \"name\": \"#{@release_compatible_version} (stable)\",",
"+ {",
"+ \"name\": \"#{@previous_compatible_version}\",",
"+ \"version\": \"#{@previous_compatible_version}/\",",
"+ \"url\": \"https://arrow.apache.org/docs/#{@previous_compatible_version}/\"",
"+ },",
],
],
},
]
end
expected_changes += [
{
path: "js/package.json",
hunks: [
["- \"version\": \"#{@snapshot_version}\"",
"+ \"version\": \"#{@next_snapshot_version}\""],
],
},
{
path: "matlab/CMakeLists.txt",
hunks: [
["-set(MLARROW_VERSION \"#{@snapshot_version}\")",
"+set(MLARROW_VERSION \"#{@next_snapshot_version}\")"],
],
},
{
path: "python/CMakeLists.txt",
hunks: [
["-set(PYARROW_VERSION \"#{@snapshot_version}\")",
"+set(PYARROW_VERSION \"#{@next_snapshot_version}\")"],
],
},
{
path: "python/pyproject.toml",
hunks: [
["-fallback_version = '#{@release_version}a0'",
"+fallback_version = '#{@next_version}a0'"],
],
},
{
path: "r/DESCRIPTION",
hunks: [
["-Version: #{@previous_version}.9000",
"+Version: #{@release_version}.9000"],
],
},
{
path: "r/NEWS.md",
hunks: [
["-# arrow #{@previous_version}.9000",
"+# arrow #{@release_version}.9000",
"+",
"+# arrow #{@release_version}",],
],
},
]
if next_release_type == :major
expected_changes += [
{
path: "c_glib/tool/generate-version-header.py",
hunks: [
["+ (#{@next_major_version}, 0),"],
],
},
{
path: "r/pkgdown/assets/versions.html",
hunks: [
[
"-<body><p><a href=\"../dev/r/\">#{@previous_version}.9000 (dev)</a></p>",
"-<p><a href=\"../r/\">#{@previous_r_version} (release)</a></p>",
"+<body><p><a href=\"../dev/r/\">#{@release_version}.9000 (dev)</a></p>",
"+<p><a href=\"../r/\">#{@release_version} (release)</a></p>",
"+<p><a href=\"../#{@previous_compatible_version}/r/\">" +
"#{@previous_r_version}</a></p>",
],
],
},
{
path: "r/pkgdown/assets/versions.json",
hunks: [
[
"- \"name\": \"#{@previous_version}.9000 (dev)\",",
"+ \"name\": \"#{@release_version}.9000 (dev)\",",
"- \"name\": \"#{@previous_r_version} (release)\",",
"+ \"name\": \"#{@release_version} (release)\",",
"+ {",
"+ \"name\": \"#{@previous_r_version}\",",
"+ \"version\": \"#{@previous_compatible_version}/\"",
"+ },",
],
],
},
]
else
expected_changes += [
{
path: "r/pkgdown/assets/versions.html",
hunks: [
[
"-<body><p><a href=\"../dev/r/\">#{@previous_version}.9000 (dev)</a></p>",
"-<p><a href=\"../r/\">#{@previous_r_version} (release)</a></p>",
"+<body><p><a href=\"../dev/r/\">#{@release_version}.9000 (dev)</a></p>",
"+<p><a href=\"../r/\">#{@release_version} (release)</a></p>",
],
],
},
{
path: "r/pkgdown/assets/versions.json",
hunks: [
[
"- \"name\": \"#{@previous_version}.9000 (dev)\",",
"+ \"name\": \"#{@release_version}.9000 (dev)\",",
"- \"name\": \"#{@previous_r_version} (release)\",",
"+ \"name\": \"#{@release_version} (release)\",",
],
],
},
]
end
Dir.glob("ruby/**/version.rb") do |path|
version = " VERSION = \"#{@snapshot_version}\""
new_version = " VERSION = \"#{@next_snapshot_version}\""
expected_changes << {
hunks: [
[
"-#{version}",
"+#{new_version}",
]
],
path: path,
}
end
end
stdout = bump_versions("VERSION_POST_TAG")
assert_equal(expected_changes.sort_by {|diff| diff[:path]},
parse_patch(git("log", "-n", "1", "-p")),
"Output:\n#{stdout}")
end