This is an automated email from the ASF dual-hosted git repository.
kszucs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new e2625d2 ARROW-12440: [Release][Packaging] Various packaging, release
script and release verification script fixes
e2625d2 is described below
commit e2625d23b8ac4c018dd0615b1d5dcb6927cecd12
Author: Krisztián Szűcs <[email protected]>
AuthorDate: Sun Apr 18 18:01:02 2021 +0200
ARROW-12440: [Release][Packaging] Various packaging, release script and
release verification script fixes
Closes #10091 from kszucs/fix-release-scripts
Authored-by: Krisztián Szűcs <[email protected]>
Signed-off-by: Krisztián Szűcs <[email protected]>
---
.github/workflows/archery.yml | 2 +-
dev/archery/archery/crossbow/cli.py | 1 +
dev/archery/archery/release.py | 2 +-
dev/release/01-prepare-test.rb | 187 +++++++++++++++++----
dev/release/01-prepare.sh | 190 +---------------------
dev/release/03-binary-submit.sh | 10 +-
dev/release/04-binary-download.sh | 3 +-
dev/release/05-binary-upload.sh | 5 +-
dev/release/binary-task.rb | 22 ++-
dev/release/post-02-binary.sh | 2 +-
dev/release/post-12-version.sh | 79 +++++++++
dev/release/{binary-common.sh => utils-binary.sh} | 0
dev/release/utils-prepare.sh | 167 +++++++++++++++++++
dev/release/verify-apt.sh | 29 +++-
dev/release/verify-release-candidate.sh | 14 +-
dev/release/verify-yum.sh | 26 ++-
dev/tasks/conda-recipes/azure.win.yml | 4 +-
dev/tasks/tasks.yml | 2 +-
dev/tasks/verify-rc/github.linux.yml | 1 +
19 files changed, 487 insertions(+), 259 deletions(-)
diff --git a/.github/workflows/archery.yml b/.github/workflows/archery.yml
index 761e045..9f6880e 100644
--- a/.github/workflows/archery.yml
+++ b/.github/workflows/archery.yml
@@ -43,7 +43,7 @@ jobs:
with:
fetch-depth: 0
- name: Git Fixup
- if: ${{ github.event_name == 'pull_request' }}
+ if: ${{ github.ref != 'master' }}
shell: bash
run: git branch master origin/master
- name: Free Up Disk Space
diff --git a/dev/archery/archery/crossbow/cli.py
b/dev/archery/archery/crossbow/cli.py
index 71c25e0..15dbb5d 100644
--- a/dev/archery/archery/crossbow/cli.py
+++ b/dev/archery/archery/crossbow/cli.py
@@ -194,6 +194,7 @@ def render(obj, task, config_path, arrow_version,
arrow_remote, arrow_branch,
head=arrow_sha, version=arrow_version)
config = Config.load_yaml(config_path)
params = dict([p.split("=") for p in params])
+ params["queue_remote_url"] = "https://github.com/org/crossbow"
job = Job.from_config(config=config, target=target, tasks=[task],
params=params)
diff --git a/dev/archery/archery/release.py b/dev/archery/archery/release.py
index acfe3fc..6baeabc 100644
--- a/dev/archery/archery/release.py
+++ b/dev/archery/archery/release.py
@@ -448,7 +448,7 @@ class MaintenanceMixin:
if self.version.major == 0:
# treat minor releases as major releases preceeding 1.0.0 release
commit_range = "apache-arrow-0.{}.0..master".format(
- self.version.minor - 1
+ self.version.minor
)
else:
commit_range = "apache-arrow-{}.0.0..master".format(
diff --git a/dev/release/01-prepare-test.rb b/dev/release/01-prepare-test.rb
index b316ad2..96be7d9 100644
--- a/dev/release/01-prepare-test.rb
+++ b/dev/release/01-prepare-test.rb
@@ -30,7 +30,7 @@ class PrepareTest < Test::Unit::TestCase
git("clone", @original_git_repository.to_s, @test_git_repository.to_s)
Dir.chdir(@test_git_repository) do
@tag_name = "apache-arrow-#{@release_version}"
- @release_branch = "release-#{@release_version}-rc0"
+ @release_branch = "testing-release-#{@release_version}-rc0"
@script = "dev/release/01-prepare.sh"
git("checkout", "-b", @release_branch, @current_commit)
yield
@@ -43,18 +43,18 @@ class PrepareTest < Test::Unit::TestCase
omit("Not for release branch") if on_release_branch?
end
- def prepare(*targets)
+ def prepare(script, *targets)
if targets.last.is_a?(Hash)
additional_env = targets.pop
else
additional_env = {}
end
- env = {"PREPARE_DEFAULT" => "0"}
+ env = { "PREPARE_DEFAULT" => "0" }
targets.each do |target|
env["PREPARE_#{target}"] = "1"
end
env = env.merge(additional_env)
- sh(env, @script, @release_version, @next_version, "0")
+ sh(env, script, @release_version, @next_version, "0")
end
def parse_patch(patch)
@@ -64,7 +64,7 @@ class PrepareTest < Test::Unit::TestCase
case line
when /\A--- a\//
path = $POSTMATCH.chomp
- diffs << {path: path, hunks: []}
+ diffs << { path: path, hunks: [] }
in_hunk = false
when /\A@@/
in_hunk = true
@@ -82,7 +82,8 @@ class PrepareTest < Test::Unit::TestCase
def test_linux_packages
user = "Arrow Developers"
email = "[email protected]"
- prepare("LINUX_PACKAGES",
+ prepare("dev/release/01-prepare.sh",
+ "LINUX_PACKAGES",
"DEBFULLNAME" => user,
"DEBEMAIL" => email)
changes = parse_patch(git("log", "-n", "1", "-p"))
@@ -90,7 +91,6 @@ class PrepareTest < Test::Unit::TestCase
{
path: change[:path],
sampled_hunks: change[:hunks].collect(&:first),
- # sampled_hunks: change[:hunks],
}
end
base_dir = "dev/tasks/linux-packages"
@@ -104,8 +104,7 @@ class PrepareTest < Test::Unit::TestCase
],
},
{
- path:
- "#{base_dir}/apache-arrow-release/yum/apache-arrow-release.spec.in",
+ path:
"#{base_dir}/apache-arrow-release/yum/apache-arrow-release.spec.in",
sampled_hunks: [
"+* #{today} #{user} <#{email}> - #{@release_version}-1",
],
@@ -128,7 +127,7 @@ class PrepareTest < Test::Unit::TestCase
def test_version_pre_tag
omit_on_release_branch
- prepare("VERSION_PRE_TAG")
+ prepare("dev/release/01-prepare.sh", "VERSION_PRE_TAG")
assert_equal([
{
path: "c_glib/meson.build",
@@ -180,10 +179,79 @@ class PrepareTest < Test::Unit::TestCase
],
},
{
+ path: "java/adapter/avro/pom.xml",
+ hunks: [
+ ["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"],
+ ],
+ },
+ {
+ hunks: [
+ ["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"],
+ ],
+ path: "java/adapter/jdbc/pom.xml",
+ },
+ {
+ hunks: [
+ ["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"],
+ ],
+ path: "java/adapter/orc/pom.xml",
+ },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/algorithm/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/compression/pom.xml" },
+ { hunks: [["-
<version>#{@snapshot_version}</version>",
+ "+
<version>#{@release_version}</version>"]],
+ path: "java/dataset/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/flight/flight-core/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/flight/flight-grpc/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>", "+
<version>#{@release_version}</version>"]],
+ path: "java/format/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+
<version>#{@release_version}</version>"]],
+ path: "java/gandiva/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/memory/memory-core/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/memory/memory-netty/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/memory/memory-unsafe/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/memory/pom.xml" },
+ { hunks: [["-
<version>#{@snapshot_version}</version>",
+ "+
<version>#{@release_version}</version>"],
+ ["-
<version>#{@snapshot_version}</version>",
+ "+
<version>#{@release_version}</version>"]],
+ path: "java/performance/pom.xml" },
+ { hunks: [["-
<version>#{@snapshot_version}</version>",
+ "+
<version>#{@release_version}</version>"]],
+ path: "java/plasma/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>", "+
<version>#{@release_version}</version>"]],
+ path: "java/pom.xml" },
+ { hunks: [["-
<version>#{@snapshot_version}</version>",
+ "+
<version>#{@release_version}</version>"]],
+ path: "java/tools/pom.xml" },
+ { hunks: [["- <version>#{@snapshot_version}</version>",
+ "+ <version>#{@release_version}</version>"]],
+ path: "java/vector/pom.xml" },
+ {
path: "js/package.json",
hunks: [
["- \"version\": \"#{@snapshot_version}\"",
- "+ \"version\": \"#{@release_version}\""]
+ "+ \"version\": \"#{@release_version}\""],
],
},
{
@@ -289,11 +357,11 @@ class PrepareTest < Test::Unit::TestCase
],
},
{
- path: "rust/datafusion-examples/Cargo.toml",
- hunks: [
- ["-version = \"#{@snapshot_version}\"",
- "+version = \"#{@release_version}\""],
- ],
+ path: "rust/datafusion-examples/Cargo.toml",
+ hunks: [
+ ["-version = \"#{@snapshot_version}\"",
+ "+version = \"#{@release_version}\""],
+ ],
},
{
path: "rust/datafusion/Cargo.toml",
@@ -328,7 +396,7 @@ class PrepareTest < Test::Unit::TestCase
["-arrow = { path = \"../arrow\", version =
\"#{@snapshot_version}\", optional = true }",
"+arrow = { path = \"../arrow\", version =
\"#{@release_version}\", optional = true }"],
["-arrow = { path = \"../arrow\", version =
\"#{@snapshot_version}\" }",
- "+arrow = { path = \"../arrow\", version =
\"#{@release_version}\" }"]
+ "+arrow = { path = \"../arrow\", version =
\"#{@release_version}\" }"],
],
},
{
@@ -375,10 +443,10 @@ class PrepareTest < Test::Unit::TestCase
def test_version_post_tag
if on_release_branch?
- prepare("VERSION_POST_TAG")
+ prepare("dev/release/post-12-version.sh", "VERSION_POST_TAG")
else
- prepare("VERSION_PRE_TAG",
- "VERSION_POST_TAG")
+ prepare("dev/release/01-prepare.sh", "VERSION_PRE_TAG")
+ prepare("dev/release/post-12-version.sh", "VERSION_POST_TAG")
end
assert_equal([
{
@@ -430,6 +498,63 @@ class PrepareTest < Test::Unit::TestCase
"+ url
\"https://www.apache.org/dyn/closer.lua?path=arrow/arrow-#{@release_version}.9000/apache-arrow-#{@release_version}.9000.tar.gz\""],
],
},
+ { path: "java/adapter/avro/pom.xml",
+ hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]] },
+ { hunks: [["-
<version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/adapter/jdbc/pom.xml" },
+ { hunks: [["-
<version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/adapter/orc/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/algorithm/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/compression/pom.xml" },
+ { hunks: [["-
<version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/dataset/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/flight/flight-core/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/flight/flight-grpc/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>", "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/format/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/gandiva/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/memory/memory-core/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/memory/memory-netty/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/memory/memory-unsafe/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/memory/pom.xml" },
+ { hunks: [["-
<version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"],
+ ["-
<version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/performance/pom.xml" },
+ { hunks: [["-
<version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/plasma/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>", "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/pom.xml" },
+ { hunks: [["-
<version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/tools/pom.xml" },
+ { hunks: [["- <version>#{@release_version}</version>",
+ "+
<version>#{@next_snapshot_version}</version>"]],
+ path: "java/vector/pom.xml" },
{
path: "js/package.json",
hunks: [
@@ -541,11 +666,11 @@ class PrepareTest < Test::Unit::TestCase
],
},
{
- path: "rust/datafusion-examples/Cargo.toml",
- hunks: [
- ["-version = \"#{@release_version}\"",
- "+version = \"#{@next_snapshot_version}\""],
- ],
+ path: "rust/datafusion-examples/Cargo.toml",
+ hunks: [
+ ["-version = \"#{@release_version}\"",
+ "+version = \"#{@next_snapshot_version}\""],
+ ],
},
{
path: "rust/datafusion/Cargo.toml",
@@ -580,7 +705,7 @@ class PrepareTest < Test::Unit::TestCase
["-arrow = { path = \"../arrow\", version =
\"#{@release_version}\", optional = true }",
"+arrow = { path = \"../arrow\", version =
\"#{@next_snapshot_version}\", optional = true }"],
["-arrow = { path = \"../arrow\", version =
\"#{@release_version}\" }",
- "+arrow = { path = \"../arrow\", version =
\"#{@next_snapshot_version}\" }"]
+ "+arrow = { path = \"../arrow\", version =
\"#{@next_snapshot_version}\" }"],
],
},
{
@@ -626,12 +751,12 @@ class PrepareTest < Test::Unit::TestCase
end
def test_deb_package_names
- prepare("DEB_PACKAGE_NAMES")
+ prepare("dev/release/post-12-version.sh", "DEB_PACKAGE_NAMES")
changes = parse_patch(git("log", "-n", "1", "-p"))
sampled_changes = changes.collect do |change|
first_hunk = change[:hunks][0]
- first_removed_line = first_hunk.find {|line| line.start_with?("-")}
- first_added_line = first_hunk.find {|line| line.start_with?("+")}
+ first_removed_line = first_hunk.find { |line| line.start_with?("-") }
+ first_added_line = first_hunk.find { |line| line.start_with?("+") }
{
sampled_diff: [first_removed_line, first_added_line],
path: change[:path],
@@ -643,14 +768,14 @@ class PrepareTest < Test::Unit::TestCase
"-dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib#{@so_version}.install",
"+dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib#{@next_so_version}.install",
],
- path: "dev/release/rat_exclude_files.txt"
+ path: "dev/release/rat_exclude_files.txt",
},
{
sampled_diff: [
"-Package: libarrow#{@so_version}",
"+Package: libarrow#{@next_so_version}",
],
- path: "dev/tasks/linux-packages/apache-arrow/debian/control.in"
+ path: "dev/tasks/linux-packages/apache-arrow/debian/control.in",
},
{
sampled_diff: [
diff --git a/dev/release/01-prepare.sh b/dev/release/01-prepare.sh
index 80703c2..051a8f6 100755
--- a/dev/release/01-prepare.sh
+++ b/dev/release/01-prepare.sh
@@ -26,149 +26,7 @@ if [ "$#" -ne 3 ]; then
exit 1
fi
-update_versions() {
- local base_version=$1
- local next_version=$2
- local type=$3
-
- case ${type} in
- release)
- local version=${base_version}
- local r_version=${base_version}
- ;;
- snapshot)
- local version=${next_version}-SNAPSHOT
- local r_version=${base_version}.9000
- ;;
- esac
-
- cd "${SOURCE_DIR}/../../c_glib"
- sed -i.bak -E -e \
- "s/^version = '.+'/version = '${version}'/" \
- meson.build
- rm -f meson.build.bak
- git add meson.build
- cd -
-
- cd "${SOURCE_DIR}/../../ci/scripts"
- sed -i.bak -E -e \
- "s/^pkgver=.+/pkgver=${r_version}/" \
- PKGBUILD
- rm -f PKGBUILD.bak
- git add PKGBUILD
- cd -
-
- cd "${SOURCE_DIR}/../../cpp"
- sed -i.bak -E -e \
- "s/^set\(ARROW_VERSION \".+\"\)/set(ARROW_VERSION \"${version}\")/" \
- CMakeLists.txt
- rm -f CMakeLists.txt.bak
- git add CMakeLists.txt
-
- sed -i.bak -E -e \
- "s/\"version-string\": \".+\"/\"version-string\": \"${version}\"/" \
- vcpkg.json
- rm -f vcpkg.json.bak
- git add vcpkg.json
- cd -
-
- cd "${SOURCE_DIR}/../../csharp"
- sed -i.bak -E -e \
- "s/^ <Version>.+<\/Version>/ <Version>${version}<\/Version>/" \
- Directory.Build.props
- rm -f Directory.Build.props.bak
- git add Directory.Build.props
- cd -
-
- cd "${SOURCE_DIR}/../../dev/tasks/homebrew-formulae"
- sed -i.bak -E -e \
- "s/arrow-[0-9.]+[0-9]+/arrow-${r_version}/g" \
- autobrew/apache-arrow.rb
- rm -f autobrew/apache-arrow.rb.bak
- git add autobrew/apache-arrow.rb
- sed -i.bak -E -e \
- "s/arrow-[0-9.\-]+[0-9SNAPHOT]+/arrow-${version}/g" \
- apache-arrow.rb
- rm -f apache-arrow.rb.bak
- git add apache-arrow.rb
- cd -
-
- cd "${SOURCE_DIR}/../../js"
- sed -i.bak -E -e \
- "s/^ \"version\": \".+\"/ \"version\": \"${version}\"/" \
- package.json
- rm -f package.json.bak
- git add package.json
- cd -
-
- cd "${SOURCE_DIR}/../../matlab"
- sed -i.bak -E -e \
- "s/^set\(MLARROW_VERSION \".+\"\)/set(MLARROW_VERSION \"${version}\")/" \
- CMakeLists.txt
- rm -f CMakeLists.txt.bak
- git add CMakeLists.txt
- cd -
-
- cd "${SOURCE_DIR}/../../python"
- sed -i.bak -E -e \
- "s/^default_version = '.+'/default_version = '${version}'/" \
- setup.py
- rm -f setup.py.bak
- git add setup.py
- cd -
-
- cd "${SOURCE_DIR}/../../r"
- sed -i.bak -E -e \
- "s/^Version: .+/Version: ${r_version}/" \
- DESCRIPTION
- rm -f DESCRIPTION.bak
- git add DESCRIPTION
- if [ ${type} = "snapshot" ]; then
- # Add a news entry for the new dev version
- echo "dev"
- sed -i.bak -E -e \
- "0,/^# arrow /s/^(# arrow .+)/# arrow ${r_version}\n\n\1/" \
- NEWS.md
- else
- # Replace dev version with release version
- echo "release"
- sed -i.bak -E -e \
- "0,/^# arrow /s/^# arrow .+/# arrow ${r_version}/" \
- NEWS.md
- fi
- rm -f NEWS.md.bak
- git add NEWS.md
- cd -
-
- cd "${SOURCE_DIR}/../../ruby"
- sed -i.bak -E -e \
- "s/^ VERSION = \".+\"/ VERSION = \"${version}\"/g" \
- */*/*/version.rb
- rm -f */*/*/version.rb.bak
- git add */*/*/version.rb
- cd -
-
- cd "${SOURCE_DIR}/../../rust"
- sed -i.bak -E \
- -e "s/^version = \".+\"/version = \"${version}\"/g" \
- -e "s/^(arrow = .* version = )\".*\"(( .*)|(, features = .*)|(, optional =
.*))$/\\1\"${version}\"\\2/g" \
- -e "s/^(arrow-flight = .* version = )\".+\"( .*)/\\1\"${version}\"\\2/g" \
- -e "s/^(parquet = .* version = )\".*\"(( .*)|(, features =
.*))$/\\1\"${version}\"\\2/g" \
- -e "s/^(parquet_derive = .* version = )\".*\"(( .*)|(, features =
.*))$/\\1\"${version}\"\\2/g" \
- */Cargo.toml
- rm -f */Cargo.toml.bak
- git add */Cargo.toml
-
- sed -i.bak -E \
- -e "s/^([^ ]+) = \".+\"/\\1 = \"${version}\"/g" \
- -e "s,docs\.rs/crate/([^/]+)/[^)]+,docs.rs/crate/\\1/${version},g" \
- */README.md
- rm -f */README.md.bak
- git add */README.md
- cd -
-}
-
-############################## Pre-Tag Commits ##############################
+. $SOURCE_DIR/utils-prepare.sh
version=$1
next_version=$2
@@ -185,8 +43,6 @@ release_candidate_branch="release-${version}-rc${rc_number}"
: ${PREPARE_VERSION_PRE_TAG:=${PREPARE_DEFAULT}}
: ${PREPARE_BRANCH:=${PREPARE_DEFAULT}}
: ${PREPARE_TAG:=${PREPARE_DEFAULT}}
-: ${PREPARE_VERSION_POST_TAG:=${PREPARE_DEFAULT}}
-: ${PREPARE_DEB_PACKAGE_NAMES:=${PREPARE_DEFAULT}}
if [ ${PREPARE_TAG} -gt 0 ]; then
if [ $(git tag -l "${release_tag}") ]; then
@@ -245,47 +101,3 @@ fi
if [ ${PREPARE_TAG} -gt 0 ]; then
git tag -a "${release_tag}" -m "[Release] Apache Arrow Release ${version}"
fi
-
-############################## Post-Tag Commits #############################
-
-if [ ${PREPARE_VERSION_POST_TAG} -gt 0 ]; then
- echo "Updating versions for ${next_version_snapshot}"
- update_versions "${version}" "${next_version}" "snapshot"
- git commit -m "[Release] Update versions for ${next_version_snapshot}"
-fi
-
-if [ ${PREPARE_DEB_PACKAGE_NAMES} -gt 0 ]; then
- echo "Updating .deb package names for ${next_version}"
- so_version() {
- local version=$1
- local major_version=$(echo $version | sed -E -e
's/^([0-9]+)\.[0-9]+\.[0-9]+$/\1/')
- local minor_version=$(echo $version | sed -E -e
's/^[0-9]+\.([0-9]+)\.[0-9]+$/\1/')
- expr ${major_version} \* 100 + ${minor_version}
- }
- deb_lib_suffix=$(so_version $version)
- next_deb_lib_suffix=$(so_version $next_version)
- if [ "${deb_lib_suffix}" != "${next_deb_lib_suffix}" ]; then
- cd $SOURCE_DIR/../tasks/linux-packages/apache-arrow
- for target in debian*/lib*${deb_lib_suffix}.install; do
- git mv \
- ${target} \
- $(echo $target | sed -e "s/${deb_lib_suffix}/${next_deb_lib_suffix}/")
- done
-
deb_lib_suffix_substitute_pattern="s/(lib(arrow|gandiva|parquet|plasma)[-a-z]*)${deb_lib_suffix}/\\1${next_deb_lib_suffix}/g"
- sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" debian*/control*
- rm -f debian*/control*.bak
- git add debian*/control*
- cd -
- cd $SOURCE_DIR/../tasks/
- sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" tasks.yml
- rm -f tasks.yml.bak
- git add tasks.yml
- cd -
- cd $SOURCE_DIR
- sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}"
rat_exclude_files.txt
- rm -f rat_exclude_files.txt.bak
- git add rat_exclude_files.txt
- git commit -m "[Release] Update .deb package names for $next_version"
- cd -
- fi
-fi
diff --git a/dev/release/03-binary-submit.sh b/dev/release/03-binary-submit.sh
index 1bdbc20..ea67222 100755
--- a/dev/release/03-binary-submit.sh
+++ b/dev/release/03-binary-submit.sh
@@ -28,14 +28,10 @@ version=$1
rc_number=$2
version_with_rc="${version}-rc${rc_number}"
crossbow_job_prefix="release-${version_with_rc}"
-
release_tag="apache-arrow-${version}"
-release_candidate_branch="release-${version}-rc${rc_number}"
-
-: ${GIT_REMOTE:="origin"}
-git checkout ${release_candidate_branch}
-git push -u ${GIT_REMOTE} ${release_candidate_branch}
+: ${ARROW_REPOSITORY:="apache/arrow"}
+: ${ARROW_BRANCH:=$release_tag}
# archery will submit a job with id: "${crossbow_job_prefix}-0" unless there
# are jobs submitted with the same prefix (the integer at the end is auto
@@ -43,4 +39,6 @@ git push -u ${GIT_REMOTE} ${release_candidate_branch}
archery crossbow submit \
--job-prefix ${crossbow_job_prefix} \
--arrow-version ${version_with_rc} \
+ --arrow-remote "https://github.com/${ARROW_REPOSITORY}" \
+ --arrow-branch ${ARROW_BRANCH} \
--group packaging
diff --git a/dev/release/04-binary-download.sh
b/dev/release/04-binary-download.sh
index d0b61b0..e2b97ac 100755
--- a/dev/release/04-binary-download.sh
+++ b/dev/release/04-binary-download.sh
@@ -33,6 +33,7 @@ crossbow_job_prefix="release-${version_with_rc}"
# archery will submit a job with id: "${crossbow_job_prefix}-0" unless there
# are jobs submitted with the same prefix (the integer at the end is auto
# incremented)
-: ${CROSSBOW_JOB_ID:="${crossbow_job_prefix}-0"}
+: ${CROSSBOW_JOB_NUMBER:="0"}
+: ${CROSSBOW_JOB_ID:="${crossbow_job_prefix}-${CROSSBOW_JOB_NUMBER}"}
archery crossbow download-artifacts ${CROSSBOW_JOB_ID}
diff --git a/dev/release/05-binary-upload.sh b/dev/release/05-binary-upload.sh
index 4a360c2..979e40c 100755
--- a/dev/release/05-binary-upload.sh
+++ b/dev/release/05-binary-upload.sh
@@ -35,7 +35,8 @@ version_with_rc="${version}-rc${rc}"
crossbow_job_prefix="release-${version_with_rc}"
crossbow_package_dir="${SOURCE_DIR}/../../packages"
-: ${CROSSBOW_JOB_ID:="${crossbow_job_prefix}-0"}
+: ${CROSSBOW_JOB_NUMBER:="0"}
+: ${CROSSBOW_JOB_ID:="${crossbow_job_prefix}-${CROSSBOW_JOB_NUMBER}"}
artifact_dir="${crossbow_package_dir}/${CROSSBOW_JOB_ID}"
if [ ! -e "$artifact_dir" ]; then
@@ -68,7 +69,7 @@ if [ -n "${SOURCE_BINTRAY_REPOSITORY_CUSTOM}" ]; then
SOURCE_BINTRAY_REPOSITORY=${SOURCE_BINTRAY_REPOSITORY_CUSTOM}
fi
-. binary-common.sh
+. utils-binary.sh
# By default upload all artifacts.
# To deactivate one category, deactivate the category and all of its
dependents.
diff --git a/dev/release/binary-task.rb b/dev/release/binary-task.rb
index 42bc1fe..7e7561a 100644
--- a/dev/release/binary-task.rb
+++ b/dev/release/binary-task.rb
@@ -1047,7 +1047,11 @@ class BinaryTask
else
available_apt_targets.select do |distribution, code_name, component|
env_apt_targets.any? do |env_apt_target|
- env_apt_target.start_with?("#{distribution}-#{code_name}")
+ if env_apt_target.include?("-")
+ env_apt_target.start_with?("#{distribution}-#{code_name}")
+ else
+ env_apt_target == distribution
+ end
end
end
end
@@ -1078,8 +1082,8 @@ class BinaryTask
Dir.glob("#{source_dir_prefix}*/**/*") do |path|
next if File.directory?(path)
base_name = File.basename(path)
- if base_name.start_with?("apache-arrow-archive-keyring")
- package_name = "apache-arrow-archive-keyring"
+ if base_name.start_with?("apache-arrow-apt-source")
+ package_name = "apache-arrow-apt-source"
else
package_name = "apache-arrow"
end
@@ -1100,13 +1104,13 @@ class BinaryTask
destination_path,
progress_reporter)
case base_name
- when /\A[^_]+-archive-keyring_.*\.deb\z/
- latest_archive_keyring_package_path = [
+ when /\A[^_]+-apt-source_.*\.deb\z/
+ latest_apt_source_package_path = [
distribution_dir,
"#{package_name}-latest-#{code_name}.deb"
].join("/")
copy_artifact(path,
- latest_archive_keyring_package_path,
+ latest_apt_source_package_path,
progress_reporter)
end
end
@@ -1435,7 +1439,11 @@ APT::FTPArchive::Release::Description
"#{apt_repository_description}";
else
available_yum_targets.select do |distribution, distribution_version|
env_yum_targets.any? do |env_yum_target|
- env_yum_target.start_with?("#{distribution}-#{distribution_version}")
+ if env_yum_target.include?("-")
+
env_yum_target.start_with?("#{distribution}-#{distribution_version}")
+ else
+ env_yum_target == distribution
+ end
end
end
end
diff --git a/dev/release/post-02-binary.sh b/dev/release/post-02-binary.sh
index 9f531af..6d3e19e 100755
--- a/dev/release/post-02-binary.sh
+++ b/dev/release/post-02-binary.sh
@@ -45,7 +45,7 @@ if [ -n "${BINTRAY_REPOSITORY_CUSTOM}" ]; then
BINTRAY_REPOSITORY=${BINTRAY_REPOSITORY_CUSTOM}
fi
-. binary-common.sh
+. utils-binary.sh
# By default deploy all artifacts.
# To deactivate one category, deactivate the category and all of its
dependents.
diff --git a/dev/release/post-12-version.sh b/dev/release/post-12-version.sh
new file mode 100755
index 0000000..9ca0086
--- /dev/null
+++ b/dev/release/post-12-version.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+set -ue
+
+SOURCE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+if [ "$#" -ne 3 ]; then
+ echo "Usage: $0 <version> <next_version> <rc-num>"
+ exit 1
+fi
+
+: ${PREPARE_DEFAULT:=1}
+: ${PREPARE_VERSION_POST_TAG:=${PREPARE_DEFAULT}}
+: ${PREPARE_DEB_PACKAGE_NAMES:=${PREPARE_DEFAULT}}
+
+. $SOURCE_DIR/utils-prepare.sh
+
+version=$1
+next_version=$2
+next_version_snapshot="${next_version}-SNAPSHOT"
+
+if [ ${PREPARE_VERSION_POST_TAG} -gt 0 ]; then
+ echo "Updating versions for ${next_version_snapshot}"
+ update_versions "${version}" "${next_version}" "snapshot"
+ git commit -m "[Release] Update versions for ${next_version_snapshot}"
+fi
+
+if [ ${PREPARE_DEB_PACKAGE_NAMES} -gt 0 ]; then
+ echo "Updating .deb package names for ${next_version}"
+ so_version() {
+ local version=$1
+ local major_version=$(echo $version | sed -E -e
's/^([0-9]+)\.[0-9]+\.[0-9]+$/\1/')
+ local minor_version=$(echo $version | sed -E -e
's/^[0-9]+\.([0-9]+)\.[0-9]+$/\1/')
+ expr ${major_version} \* 100 + ${minor_version}
+ }
+ deb_lib_suffix=$(so_version $version)
+ next_deb_lib_suffix=$(so_version $next_version)
+ if [ "${deb_lib_suffix}" != "${next_deb_lib_suffix}" ]; then
+ cd $SOURCE_DIR/../tasks/linux-packages/apache-arrow
+ for target in debian*/lib*${deb_lib_suffix}.install; do
+ git mv \
+ ${target} \
+ $(echo $target | sed -e "s/${deb_lib_suffix}/${next_deb_lib_suffix}/")
+ done
+
deb_lib_suffix_substitute_pattern="s/(lib(arrow|gandiva|parquet|plasma)[-a-z]*)${deb_lib_suffix}/\\1${next_deb_lib_suffix}/g"
+ sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" debian*/control*
+ rm -f debian*/control*.bak
+ git add debian*/control*
+ cd -
+ cd $SOURCE_DIR/../tasks/
+ sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" tasks.yml
+ rm -f tasks.yml.bak
+ git add tasks.yml
+ cd -
+ cd $SOURCE_DIR
+ sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}"
rat_exclude_files.txt
+ rm -f rat_exclude_files.txt.bak
+ git add rat_exclude_files.txt
+ git commit -m "[Release] Update .deb package names for $next_version"
+ cd -
+ fi
+fi
diff --git a/dev/release/binary-common.sh b/dev/release/utils-binary.sh
similarity index 100%
rename from dev/release/binary-common.sh
rename to dev/release/utils-binary.sh
diff --git a/dev/release/utils-prepare.sh b/dev/release/utils-prepare.sh
new file mode 100644
index 0000000..a1c8841
--- /dev/null
+++ b/dev/release/utils-prepare.sh
@@ -0,0 +1,167 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+ARROW_DIR="${SOURCE_DIR}/../.."
+
+update_versions() {
+ local base_version=$1
+ local next_version=$2
+ local type=$3
+
+ case ${type} in
+ release)
+ local version=${base_version}
+ local r_version=${base_version}
+ ;;
+ snapshot)
+ local version=${next_version}-SNAPSHOT
+ local r_version=${base_version}.9000
+ ;;
+ esac
+
+ pushd "${ARROW_DIR}/c_glib"
+ sed -i.bak -E -e \
+ "s/^version = '.+'/version = '${version}'/" \
+ meson.build
+ rm -f meson.build.bak
+ git add meson.build
+ popd
+
+ pushd "${ARROW_DIR}/ci/scripts"
+ sed -i.bak -E -e \
+ "s/^pkgver=.+/pkgver=${r_version}/" \
+ PKGBUILD
+ rm -f PKGBUILD.bak
+ git add PKGBUILD
+ popd
+
+ pushd "${ARROW_DIR}/cpp"
+ sed -i.bak -E -e \
+ "s/^set\(ARROW_VERSION \".+\"\)/set(ARROW_VERSION \"${version}\")/" \
+ CMakeLists.txt
+ rm -f CMakeLists.txt.bak
+ git add CMakeLists.txt
+
+ sed -i.bak -E -e \
+ "s/\"version-string\": \".+\"/\"version-string\": \"${version}\"/" \
+ vcpkg.json
+ rm -f vcpkg.json.bak
+ git add vcpkg.json
+ popd
+
+ pushd "${ARROW_DIR}/java"
+ mvn versions:set -DnewVersion=${version}
+ find . -type f -name pom.xml.versionsBackup -delete
+ git add "pom.xml"
+ git add "**/pom.xml"
+ popd
+
+ pushd "${ARROW_DIR}/csharp"
+ sed -i.bak -E -e \
+ "s/^ <Version>.+<\/Version>/ <Version>${version}<\/Version>/" \
+ Directory.Build.props
+ rm -f Directory.Build.props.bak
+ git add Directory.Build.props
+ popd
+
+ pushd "${ARROW_DIR}/dev/tasks/homebrew-formulae"
+ sed -i.bak -E -e \
+ "s/arrow-[0-9.]+[0-9]+/arrow-${r_version}/g" \
+ autobrew/apache-arrow.rb
+ rm -f autobrew/apache-arrow.rb.bak
+ git add autobrew/apache-arrow.rb
+ sed -i.bak -E -e \
+ "s/arrow-[0-9.\-]+[0-9SNAPHOT]+/arrow-${version}/g" \
+ apache-arrow.rb
+ rm -f apache-arrow.rb.bak
+ git add apache-arrow.rb
+ popd
+
+ pushd "${ARROW_DIR}/js"
+ sed -i.bak -E -e \
+ "s/^ \"version\": \".+\"/ \"version\": \"${version}\"/" \
+ package.json
+ rm -f package.json.bak
+ git add package.json
+ popd
+
+ pushd "${ARROW_DIR}/matlab"
+ sed -i.bak -E -e \
+ "s/^set\(MLARROW_VERSION \".+\"\)/set(MLARROW_VERSION \"${version}\")/" \
+ CMakeLists.txt
+ rm -f CMakeLists.txt.bak
+ git add CMakeLists.txt
+ popd
+
+ pushd "${ARROW_DIR}/python"
+ sed -i.bak -E -e \
+ "s/^default_version = '.+'/default_version = '${version}'/" \
+ setup.py
+ rm -f setup.py.bak
+ git add setup.py
+ popd
+
+ pushd "${ARROW_DIR}/r"
+ sed -i.bak -E -e \
+ "s/^Version: .+/Version: ${r_version}/" \
+ DESCRIPTION
+ rm -f DESCRIPTION.bak
+ git add DESCRIPTION
+ if [ ${type} = "snapshot" ]; then
+ # Add a news entry for the new dev version
+ echo "dev"
+ sed -i.bak -E -e \
+ "0,/^# arrow /s/^(# arrow .+)/# arrow ${r_version}\n\n\1/" \
+ NEWS.md
+ else
+ # Replace dev version with release version
+ echo "release"
+ sed -i.bak -E -e \
+ "0,/^# arrow /s/^# arrow .+/# arrow ${r_version}/" \
+ NEWS.md
+ fi
+ rm -f NEWS.md.bak
+ git add NEWS.md
+ popd
+
+ pushd "${ARROW_DIR}/ruby"
+ sed -i.bak -E -e \
+ "s/^ VERSION = \".+\"/ VERSION = \"${version}\"/g" \
+ */*/*/version.rb
+ rm -f */*/*/version.rb.bak
+ git add */*/*/version.rb
+ popd
+
+ pushd "${ARROW_DIR}/rust"
+ sed -i.bak -E \
+ -e "s/^version = \".+\"/version = \"${version}\"/g" \
+ -e "s/^(arrow = .* version = )\".*\"(( .*)|(, features = .*)|(, optional =
.*))$/\\1\"${version}\"\\2/g" \
+ -e "s/^(arrow-flight = .* version = )\".+\"( .*)/\\1\"${version}\"\\2/g" \
+ -e "s/^(parquet = .* version = )\".*\"(( .*)|(, features =
.*))$/\\1\"${version}\"\\2/g" \
+ -e "s/^(parquet_derive = .* version = )\".*\"(( .*)|(, features =
.*))$/\\1\"${version}\"\\2/g" \
+ */Cargo.toml
+ rm -f */Cargo.toml.bak
+ git add */Cargo.toml
+
+ sed -i.bak -E \
+ -e "s/^([^ ]+) = \".+\"/\\1 = \"${version}\"/g" \
+ -e "s,docs\.rs/crate/([^/]+)/[^)]+,docs.rs/crate/\\1/${version},g" \
+ */README.md
+ rm -f */README.md.bak
+ git add */README.md
+ popd
+}
diff --git a/dev/release/verify-apt.sh b/dev/release/verify-apt.sh
index e7b87a3..bf7c0bd 100755
--- a/dev/release/verify-apt.sh
+++ b/dev/release/verify-apt.sh
@@ -21,10 +21,12 @@ set -exu
if [ $# -lt 2 ]; then
echo "Usage: $0 VERSION rc"
+ echo " $0 VERSION rc BINTRAY_REPOSITORY"
echo " $0 VERSION release"
echo " $0 VERSION local"
echo " e.g.: $0 0.13.0 rc # Verify 0.13.0 RC"
echo " e.g.: $0 0.13.0 release # Verify 0.13.0"
+ echo " e.g.: $0 0.13.0 rc kszucs/arrow # Verify 0.13.0 RC at
https://bintray.com/kszucs/arrow"
echo " e.g.: $0 0.13.0-dev20210203 local # Verify 0.13.0-dev20210203 on
local"
exit 1
fi
@@ -84,9 +86,15 @@ if [ "${TYPE}" = "local" ]; then
else
package_version="${VERSION}-1"
apt_source_base_name="apache-arrow-apt-source-latest-${code_name}.deb"
- curl \
- --output "${apt_source_base_name}" \
- "${artifactory_base_url}/${apt_source_base_name}"
+ if [ $# -eq 3 ]; then
+ curl \
+ --output "${apt_source_base_name}" \
+ "https://dl.bintray.com/$3/${distribution}-rc/${apt_source_base_name}"
+ else
+ curl \
+ --output "${apt_source_base_name}" \
+ "${artifactory_base_url}/${apt_source_base_name}"
+ fi
apt install -y -V "./${apt_source_base_name}"
fi
@@ -104,10 +112,17 @@ if [ "${TYPE}" = "local" ]; then
fi
else
if [ "${TYPE}" = "rc" ]; then
- sed \
- -i"" \
- -e "s,^URIs: \\(.*\\)/,URIs: \\1-rc/,g" \
- /etc/apt/sources.list.d/apache-arrow.sources
+ if [ $# -eq 3 ]; then
+ sed \
+ -i"" \
+ -e "s,^URIs: .*/,URIs:
https://dl.bintray.com/$3/${distribution}-rc/,g" \
+ /etc/apt/sources.list.d/apache-arrow.sources
+ else
+ sed \
+ -i"" \
+ -e "s,^URIs: \\(.*\\)/,URIs: \\1-rc/,g" \
+ /etc/apt/sources.list.d/apache-arrow.sources
+ fi
fi
fi
diff --git a/dev/release/verify-release-candidate.sh
b/dev/release/verify-release-candidate.sh
index 3fc926f..888f763 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -135,7 +135,9 @@ test_binary() {
}
test_apt() {
- for target in "debian:buster" \
+ for target in "debian:bullseye" \
+ "arm64v8/debian:bullseye" \
+ "debian:buster" \
"arm64v8/debian:buster" \
"ubuntu:bionic" \
"arm64v8/ubuntu:bionic" \
@@ -144,6 +146,11 @@ test_apt() {
"ubuntu:groovy" \
"arm64v8/ubuntu:groovy"; do \
case "${target}" in
+ arm64v8/debian:bullseye)
+ # qemu-user-static in Ubuntu 20.04 has a crash bug:
+ # https://bugs.launchpad.net/qemu/+bug/1749393
+ continue
+ ;;
arm64v8/*)
if [ "$(arch)" = "aarch64" -o -e /usr/bin/qemu-aarch64-static ]; then
: # OK
@@ -485,9 +492,7 @@ test_rust() {
# raises on any formatting errors
rustup component add rustfmt --toolchain stable
cargo +stable fmt --all -- --check
-
- # we are targeting Rust nightly for releases
- rustup default nightly
+ rustup default stable
# use local modules because we don't publish modules to crates.io yet
sed \
@@ -686,6 +691,7 @@ test_wheels() {
fi
python $SOURCE_DIR/download_rc_binaries.py $VERSION $RC_NUMBER \
+ --package_type python \
--regex=${filter_regex} \
--dest=${download_dir}
diff --git a/dev/release/verify-yum.sh b/dev/release/verify-yum.sh
index b9c46c4..08cd907 100755
--- a/dev/release/verify-yum.sh
+++ b/dev/release/verify-yum.sh
@@ -21,10 +21,12 @@ set -exu
if [ $# -lt 2 ]; then
echo "Usage: $0 VERSION rc"
+ echo " $0 VERSION rc BINTRAY_REPOSITORY"
echo " $0 VERSION release"
echo " $0 VERSION local"
echo " e.g.: $0 0.13.0 rc # Verify 0.13.0 RC"
echo " e.g.: $0 0.13.0 release # Verify 0.13.0"
+ echo " e.g.: $0 0.13.0 rc kszucs/arrow # Verify 0.13.0 RC at
https://bintray.com/kszucs/arrow"
echo " e.g.: $0 0.13.0-dev20210203 local # Verify 0.13.0-dev20210203 on
local"
exit 1
fi
@@ -82,8 +84,13 @@ if [ "${TYPE}" = "local" ]; then
${install_command} "${release_path}"
else
package_version="${VERSION}"
- ${install_command} \
-
${artifactory_base_url}/${distribution_version}/apache-arrow-release-latest.rpm
+ if [ $# -eq 3 ]; then
+ ${install_command} \
+
https://dl.bintray.com/$3/centos-rc/${distribution_version}/apache-arrow-release-latest.rpm
+ else
+ ${install_command} \
+
${artifactory_base_url}/${distribution_version}/apache-arrow-release-latest.rpm
+ fi
fi
if [ "${TYPE}" = "local" ]; then
@@ -97,10 +104,17 @@ if [ "${TYPE}" = "local" ]; then
fi
else
if [ "${TYPE}" = "rc" ]; then
- sed \
- -i"" \
- -e "s,/centos/,/centos-rc/,g" \
- /etc/yum.repos.d/Apache-Arrow.repo
+ if [ $# -eq 3 ]; then
+ sed \
+ -i"" \
+ -e
"s,baseurl=https://apache\.jfrog\.io/artifactory/arrow/centos/,baseurl=https://dl.bintray.com/$3/centos-rc/,g"
\
+ /etc/yum.repos.d/Apache-Arrow.repo
+ else
+ sed \
+ -i"" \
+ -e "s,/centos/,/centos-rc/,g" \
+ /etc/yum.repos.d/Apache-Arrow.repo
+ fi
fi
fi
diff --git a/dev/tasks/conda-recipes/azure.win.yml
b/dev/tasks/conda-recipes/azure.win.yml
index a3ec693..422e2f0 100755
--- a/dev/tasks/conda-recipes/azure.win.yml
+++ b/dev/tasks/conda-recipes/azure.win.yml
@@ -73,5 +73,5 @@ jobs:
PYTHONUNBUFFERED: 1
condition: contains(variables['R_CONFIG'], 'win')
- {{ macros.azure_upload_releases("D:\bld\win-64\*.tar.bz2")|indent(2) }}
- {{ macros.azure_upload_anaconda("D:\bld\win-64\*.tar.bz2")|indent(2) }}
+ {{ macros.azure_upload_releases("D:\\bld\\win-64\\*.tar.bz2")|indent(2) }}
+ {{ macros.azure_upload_anaconda("D:\\bld\\win-64\\*.tar.bz2")|indent(2) }}
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index eab3e15..4bf0abf 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -1235,7 +1235,7 @@ tasks:
{% for target in ["csharp",
"go",
- "integration"
+ "integration",
"java",
"js",
"python",
diff --git a/dev/tasks/verify-rc/github.linux.yml
b/dev/tasks/verify-rc/github.linux.yml
index 8729426..2bbde2e 100644
--- a/dev/tasks/verify-rc/github.linux.yml
+++ b/dev/tasks/verify-rc/github.linux.yml
@@ -47,6 +47,7 @@ jobs:
jq \
libboost-all-dev \
libgirepository1.0-dev \
+ ninja-build \
qemu-user-static \
wget