From 5d3307a03ffaa749e9edb574496d43029964cd94 Mon Sep 17 00:00:00 2001 From: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com> Date: Tue, 21 Mar 2023 14:34:05 +0000 Subject: [PATCH] Remove old object_store releases automatically (#3892) --- object_store/dev/release/release-tarball.sh | 3 ++ .../dev/release/remove-old-releases.sh | 45 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 object_store/dev/release/remove-old-releases.sh diff --git a/object_store/dev/release/release-tarball.sh b/object_store/dev/release/release-tarball.sh index 75ff886c6b1e..958118639143 100755 --- a/object_store/dev/release/release-tarball.sh +++ b/object_store/dev/release/release-tarball.sh @@ -74,3 +74,6 @@ rm -rf ${tmp_dir} echo "Success!" echo "The release is available here:" echo " https://dist.apache.org/repos/dist/release/arrow/${release_version}" + +echo "Clean up old versions from svn" +"${SOURCE_TOP_DIR}"/dev/release/remove-old-releases.sh diff --git a/object_store/dev/release/remove-old-releases.sh b/object_store/dev/release/remove-old-releases.sh new file mode 100755 index 000000000000..c8bd8b748396 --- /dev/null +++ b/object_store/dev/release/remove-old-releases.sh @@ -0,0 +1,45 @@ +#!/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. +# + +# This script removes all but the most recent versions of arrow-rs +# from svn +# +# The older versions are in SVN history as well as available on the +# archive page https://archive.apache.org/dist/ +# +# See +# https://infra.apache.org/release-download-pages.html + +set -e +set -u + +svn_base="https://dist.apache.org/repos/dist/release/arrow" + +echo "Remove all but the most recent version" +old_releases=$( + svn ls ${svn_base} | \ + grep -E '^arrow-object-store-rs-[0-9\.]+' | \ + sort --version-sort --reverse | \ + tail -n +2 +) +for old_release_version in $old_releases; do + echo "Remove old release ${old_release_version}" + svn delete -m "Removing ${old_release_version}" ${svn_base}/${old_release_version} +done