This is an automated email from the ASF dual-hosted git repository.
zeroshade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-go.git
The following commit(s) were added to refs/heads/main by this push:
new 1c5598e fix(release): fix svn add command and add script to generate
release notes (#249)
1c5598e is described below
commit 1c5598e068745ea19feec69e3e5117965beeec75
Author: Matt Topol <[email protected]>
AuthorDate: Mon Jan 13 20:53:30 2025 -0500
fix(release): fix svn add command and add script to generate release notes
(#249)
### Rationale for this change
Ease of utility for release process
### What changes are included in this PR?
Fixing `svn add` command to explicitly refer to the directory so it
doesn't present an error anymore.
Add script to generate the markdown page for adding release notes to the
arrow-site repo.
---------
Co-authored-by: Sutou Kouhei <[email protected]>
---
dev/release/post-website.sh | 144 ++++++++++++++++++++++++++++++++++++++++++++
dev/release/release.sh | 2 +-
2 files changed, 145 insertions(+), 1 deletion(-)
diff --git a/dev/release/post-website.sh b/dev/release/post-website.sh
new file mode 100755
index 0000000..7a51af9
--- /dev/null
+++ b/dev/release/post-website.sh
@@ -0,0 +1,144 @@
+#!/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 -e
+set -u
+
+SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+ARROW_DIR="${SOURCE_DIR}/../../"
+: "${ARROW_SITE_DIR:="${ARROW_DIR}/../arrow-site"}"
+
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 <previous-version> <version>"
+ exit 1
+fi
+
+previous_version=$1
+version=$2
+
+branch_name="release-note-arrow-go-${version}"
+release_dir="${ARROW_SITE_DIR}/_posts"
+announce_file="${release_dir}/$(date +%Y-%m-%d)-arrow-go-${version}.md"
+
+pushd "${ARROW_SITE_DIR}"
+git_origin_url="$(git remote get-url origin)"
+if [ "${git_origin_url}" = "[email protected]:apache/arrow-site.git" ]; then
+ echo "This script should be run with a fork of apache/arrow-site."
+ exit 1
+fi
+
+DEFAULT_BRANCH="$(git rev-parse --abbrev-ref origin/HEAD | sed s@origin/@@)"
+git fetch --all --prune --tags --force "-j$(nproc)"
+git switch "${DEFAULT_BRANCH}"
+git branch -D "${branch_name}" || :
+git switch -c "${branch_name}"
+popd
+
+pushd "${ARROW_DIR}"
+
+previous_major_version="$(echo "${previous_version}" | cut -d. -f1)"
+previous_minor_version="$(echo "${previous_version}" | cut -d. -f2)"
+major_version="$(echo "${version}" | cut -d. -f1)"
+minor_version="$(echo "${version}" | cut -d. -f2)"
+if [ "${previous_major_version}" -eq "${major_version}" ]; then
+ if [ "${previous_minor_version}" -eq "${minor_version}" ]; then
+ release_type="patch"
+ else
+ release_type="minor"
+ fi
+else
+ release_type="major"
+fi
+
+export TZ=UTC
+release_date_iso8601=$(LC_TIME=C date "+%Y-%m-%d")
+
+git_range=v${previous_version}..v${version}
+
+contributors_command_line="git shortlog -sn ${git_range}"
+contributors=$(${contributors_command_line} | grep -v dependabot)
+
+n_commits=$(git log --pretty=oneline "${git_range}" | grep -c -i -v "chore:
Bump")
+n_contributors=$(${contributors_command_line} | grep -c -v dependabot)
+
+git_changelog="$(gh release view --json body --jq .body | grep -v
'@dependabot' | sed -e 's/^#/##/g')"
+popd
+
+pushd "${ARROW_SITE_DIR}"
+
+{
+ cat <<ANNOUNCE
+---
+layout: post
+title: "Apache Arrow Go ${version} Release"
+date: "${release_date_iso8601} 00:00:00"
+author: pmc
+categories: [release]
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+The Apache Arrow team is pleased to announce the v${version} release of Apache
Arrow Go.
+This ${release_type} release covers ${n_commits} commits from
${n_contributors} distinct contributors.
+
+## Contributors
+\`\`\`console
+$ ${contributors_command_line}
+ANNOUNCE
+
+ echo "${contributors}"
+
+ cat <<ANNOUNCE
+\`\`\`
+
+## Changelog
+
+${git_changelog}
+ANNOUNCE
+} >>"${announce_file}"
+
+git add "${announce_file}"
+git commit -m "[Release] Add release notes for Arrow Go ${version}"
+git push -u origin "${branch_name}"
+
+github_url=$(git remote get-url origin |
+ sed \
+ -e 's,^[email protected]:,https://github.com/,' \
+ -e 's,\.git$,,')
+
+echo "Success!"
+echo "Create a pull request:"
+echo " ${github_url}/pull/new/${branch_name}"
+popd
diff --git a/dev/release/release.sh b/dev/release/release.sh
index ec20a48..9bd04cc 100755
--- a/dev/release/release.sh
+++ b/dev/release/release.sh
@@ -57,7 +57,7 @@ gh release download "${rc_tag}" \
echo "Uploading to release/"
pushd "${dist_base_dir}"
-svn add .
+svn add "${release_id}"
svn ci -m "Apache Arrow Go ${version}"
popd
rm -rf "${dist_base_dir}"