blob: d9e724e4ef585239528c2651931005b08a961388 [file] [log] [blame]
#!/usr/bin/env 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
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <new_version>"
exit 1
fi
new_version=$1
version_tag="apache-arrow-${new_version}"
current_branch=$(git branch --show-current)
if [ ${current_branch} != "main" ]; then
echo "You should create a tag and update stable from the main branch instead of ${current_branch}:"
echo "1. Checkout the default branch and pull the latest changes."
echo "Commands:"
echo " git checkout main"
echo " git pull"
echo " dev/release/02-update.sh ${new_version}"
exit 1
fi
if [ "$(git branch -l "stable")" != "" ]; then
echo "Removing old stable branch locally and remotely"
git branch -d stable
git push -u apache --delete stable
fi
echo "Creating and pushing new stable branch from main"
git branch stable
git push -u apache stable
if [ "$(git tag -l "${version_tag}")" != "" ]; then
echo "Delete existing git tag $version_tag"
git tag -d "${version_tag}"
fi
echo "Creating tag ${version_tag} for ${new_version}"
git tag -a "${version_tag}" -m "[Release] Apache Arrow Release ${new_version}"
git push -u apache ${version_tag}