This is an automated email from the ASF dual-hosted git repository. diwu pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris-flink-connector.git
The following commit(s) were added to refs/heads/master by this push: new 94cfad06 [Chore] Add release scipts (#567) 94cfad06 is described below commit 94cfad0667d7d03b738a103ba9cbe51766f79e94 Author: wudi <676366...@qq.com> AuthorDate: Fri Feb 28 16:00:17 2025 +0800 [Chore] Add release scipts (#567) --- tools/releasing/create_release_branch.sh | 52 +++++++++++++++++++ tools/releasing/create_source_release.sh | 85 ++++++++++++++++++++++++++++++++ tools/releasing/deploy_staging_jars.sh | 65 ++++++++++++++++++++++++ tools/releasing/update_branch_version.sh | 55 +++++++++++++++++++++ 4 files changed, 257 insertions(+) diff --git a/tools/releasing/create_release_branch.sh b/tools/releasing/create_release_branch.sh new file mode 100644 index 00000000..2fd67b4d --- /dev/null +++ b/tools/releasing/create_release_branch.sh @@ -0,0 +1,52 @@ +#!/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. + +############################################################## +# This script is create release branch +############################################################## + +RELEASE_VERSION=${RELEASE_VERSION} + +if [ -z "${RELEASE_VERSION}" ]; then + echo "RELEASE_VERSION was not set" + exit 1 +fi + +# fail immediately +set -o errexit +set -o nounset + +CURR_DIR=`pwd` +BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +PROJECT_ROOT="${BASE_DIR}/../../" + +# Sanity check to ensure that resolved paths are valid; a LICENSE file should aways exist in project root +if [ ! -f ${PROJECT_ROOT}/LICENSE.txt ]; then + echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory." + exit 1 +fi + +TARGET_BRANCH=release-${RELEASE_VERSION} + +cd ${PROJECT_ROOT} +git checkout -b ${TARGET_BRANCH} + +RELEASE_COMMIT_HASH=`git rev-parse HEAD` +echo "Created a new release branch ${TARGET_BRANCH} with commit hash ${RELEASE_COMMIT_HASH}." + +cd ${CURR_DIR} \ No newline at end of file diff --git a/tools/releasing/create_source_release.sh b/tools/releasing/create_source_release.sh new file mode 100644 index 00000000..5c856dcd --- /dev/null +++ b/tools/releasing/create_source_release.sh @@ -0,0 +1,85 @@ +#!/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. + +############################################################## +# This script is create release to svn +############################################################## + +RELEASE_VERSION=${RELEASE_VERSION} + +if [ -z "${RELEASE_VERSION}" ]; then + echo "RELEASE_VERSION is unset" + exit 1 +fi + +# fail immediately +set -o errexit +set -o nounset + +CURR_DIR=`pwd` +BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +PROJECT_ROOT="$( cd "$( dirname "${BASE_DIR}/../../../" )" >/dev/null && pwd )" + +# Sanity check to ensure that resolved paths are valid; a LICENSE file should aways exist in project root +if [ ! -f ${PROJECT_ROOT}/LICENSE.txt ]; then + echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory." + exit 1 +fi + +if [ "$(uname)" == "Darwin" ]; then + SHASUM="shasum -a 512" +else + SHASUM="sha512sum" +fi + +########################### + +RELEASE_DIR=${PROJECT_ROOT}/release +CLONE_DIR=${RELEASE_DIR}/doris-flink-connector-tmp-clone + +rm -rf ${RELEASE_DIR} +mkdir ${RELEASE_DIR} + +# delete the temporary release directory on error +trap 'rm -rf ${RELEASE_DIR}' ERR + +echo "Creating source package" + +# create a temporary git clone to ensure that we have a pristine source release +git clone ${PROJECT_ROOT} ${CLONE_DIR} + +cd ${CLONE_DIR} +rsync -a \ + --exclude ".git" --exclude ".gitignore" \ + --exclude ".asf.yaml" \ + --exclude "target" \ + --exclude ".idea" --exclude "*.iml" \ + --exclude ".travis.yml" \ + . doris-flink-connector-${RELEASE_VERSION} + +tar czf ${RELEASE_DIR}/apache-doris-flink-connector-${RELEASE_VERSION}-src.tgz doris-flink-connector-${RELEASE_VERSION} +gpg --armor --detach-sign ${RELEASE_DIR}/apache-doris-flink-connector-${RELEASE_VERSION}-src.tgz + +cd ${RELEASE_DIR} +${SHASUM} apache-doris-flink-connector-${RELEASE_VERSION}-src.tgz > apache-doris-flink-connector-${RELEASE_VERSION}-src.tgz.sha512 + +rm -rf ${CLONE_DIR} + +echo "Done. Source release package and signatures created under ${RELEASE_DIR}/." + +cd ${CURR_DIR} \ No newline at end of file diff --git a/tools/releasing/deploy_staging_jars.sh b/tools/releasing/deploy_staging_jars.sh new file mode 100644 index 00000000..a66d2a1c --- /dev/null +++ b/tools/releasing/deploy_staging_jars.sh @@ -0,0 +1,65 @@ +#!/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. + +############################################################## +# This script is deploy stage jars to repository.apache.org +############################################################## + +MVN=${MVN:-mvn} +CUSTOM_OPTIONS=${CUSTOM_OPTIONS:-} + +# fail immediately +set -o errexit +set -o nounset + +CURR_DIR=`pwd` +BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +PROJECT_ROOT="${BASE_DIR}/../../" + +# Sanity check to ensure that resolved paths are valid; a LICENSE file should always exist in project root +if [ ! -f ${PROJECT_ROOT}/LICENSE.txt ]; then + echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory." + exit 1 +fi + +########################### + +cd ${PROJECT_ROOT}/flink-doris-connector + +echo "Deploying to repository.apache.org" + +echo "Deploying Flink 1.15..." +${MVN} clean deploy -Papache-release -DretryFailedDeploymentCount=10 -Dflink.version=1.15.0 -Dflink.major.version=1.15 -Dflink.python.id=flink-python_2.12 -DskipTests=true + +echo "Deploying Flink 1.16..." +${MVN} clean deploy -Papache-release -DretryFailedDeploymentCount=10 -Dflink.version=1.16.0 -Dflink.major.version=1.16 -DskipTests=true + +echo "Deploying Flink 1.17..." +${MVN} clean deploy -Papache-release -DretryFailedDeploymentCount=10 -Dflink.version=1.17.0 -Dflink.major.version=1.17 -DskipTests=true + +echo "Deploying Flink 1.18..." +${MVN} clean deploy -Papache-release -DretryFailedDeploymentCount=10 -Dflink.version=1.18.0 -Dflink.major.version=1.18 -DskipTests=true + +echo "Deploying Flink 1.19..." +${MVN} clean deploy -Papache-release -DretryFailedDeploymentCount=10 -Dflink.version=1.19.0 -Dflink.major.version=1.19 -DskipTests=true + +echo "Deploying Flink 1.20..." +${MVN} clean deploy -Papache-release -DretryFailedDeploymentCount=10 -Dflink.version=1.20.0 -Dflink.major.version=1.20 -DskipTests=true + +echo "Deploy jar finished." +cd ${CURR_DIR} \ No newline at end of file diff --git a/tools/releasing/update_branch_version.sh b/tools/releasing/update_branch_version.sh new file mode 100644 index 00000000..7022f3f8 --- /dev/null +++ b/tools/releasing/update_branch_version.sh @@ -0,0 +1,55 @@ +#!/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. + +############################################################## +# This script is update branch version in pom.xml +############################################################## + +RELEASE_VERSION=${RELEASE_VERSION} + +if [ -z "${RELEASE_VERSION}" ]; then + echo "RELEASE_VERSION was not set." + exit 1 +fi + +# fail immediately +set -o errexit +set -o nounset + +CURR_DIR=`pwd` +BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +PROJECT_ROOT="${BASE_DIR}/../../" + +# Sanity check to ensure that resolved paths are valid; a LICENSE file should aways exist in project root +if [ ! -f ${PROJECT_ROOT}/LICENSE.txt ]; then + echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory." + exit 1 +fi + +cd ${PROJECT_ROOT}/flink-doris-connector +mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${RELEASE_VERSION} +mvn versions:set-property -DgenerateBackupPoms=false -Dproperty=revision -DnewVersion=${RELEASE_VERSION} + +git commit -am "[release] Update version to ${RELEASE_VERSION}" + +RELEASE_VERSION_COMMIT_HASH=`git rev-parse HEAD` + +echo "Done. Created a new commit for the new version ${RELEASE_VERSION}, with hash ${RELEASE_VERSION_COMMIT_HASH}" +echo "If this is a new version to be released (or a candidate to be voted on), don't forget to create a signed release tag on GitHub and push the changes." + +cd ${CURR_DIR} \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org