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}"

Reply via email to