You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ko...@apache.org on 2019/04/01 06:25:21 UTC
[arrow] branch master updated: ARROW-5080: [Release] Add a script
that releases Rust packages
This is an automated email from the ASF dual-hosted git repository.
kou 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 90678f1 ARROW-5080: [Release] Add a script that releases Rust packages
90678f1 is described below
commit 90678f1cfdbab3065aff0e2170434da2c10d56b2
Author: Kouhei Sutou <ko...@clear-code.com>
AuthorDate: Mon Apr 1 15:25:06 2019 +0900
ARROW-5080: [Release] Add a script that releases Rust packages
Author: Kouhei Sutou <ko...@clear-code.com>
Closes #4089 from kou/release-rust and squashes the following commits:
a3fcc7c1 <Kouhei Sutou> Add a script that releases Rust packages
---
dev/release/post-07-rust.sh | 74 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/dev/release/post-07-rust.sh b/dev/release/post-07-rust.sh
new file mode 100755
index 0000000..f24ee31
--- /dev/null
+++ b/dev/release/post-07-rust.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+# -*- indent-tabs-mode: nil; sh-indentation: 2; sh-basic-offset: 2 -*-
+#
+# 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 -e
+set -o pipefail
+
+SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+
+if [ "$#" -ne 1 ]; then
+ echo "Usage: $0 <version>"
+ exit
+fi
+
+version=$1
+
+: ${INSTALL_RUST:=no}
+
+if [ "${INSTALL_RUST}" == "yes" ]; then
+ export RUSTUP_HOME="$(pwd)/release-rustup"
+ export CARGO_HOME="${RUSTUP_HOME}"
+ rm -rf "${RUSTUP_HOME}"
+ curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path
+ export PATH="${RUSTUP_HOME}/bin:$PATH"
+ source "${RUSTUP_HOME}/env"
+ rustup default stable
+ cargo login
+fi
+
+archive_name=apache-arrow-${version}
+tar_gz=${archive_name}.tar.gz
+rm -f ${tar_gz}
+curl \
+ --remote-name \
+ --fail \
+ https://www-us.apache.org/dist/arrow/arrow-${version}/${tar_gz}
+rm -rf ${archive_name}
+tar xf ${tar_gz}
+modules=()
+for cargo_toml in ${archive_name}/rust/*/Cargo.toml; do
+ module_dir=$(dirname ${cargo_toml})
+ pushd ${module_dir}
+ cargo publish --allow-dirty
+ modules+=($(basename ${module_dir}))
+ popd
+done
+popd
+rm -rf ${archive_name}
+rm -f ${tar_gz}
+
+if [ "${INSTALL_RUST}" == "yes" ]; then
+ rm -rf "${RUSTUP_HOME}"
+fi
+
+echo "Success! The released packages are available here:"
+for module in ${modules}; do
+ echo " https://crates.io/crates/${module}/${version}"
+done