kou commented on PR #14887:
URL: https://github.com/apache/arrow/pull/14887#issuecomment-1347332418

   Thanks for sharing the current work flow.
   
   How about running `dev/release/post-11-bump-versions.sh` script in patch 
release too like the following?
   
   ```bash
   dev/release/post-11-bump-versions.sh 10.0.1 11.0.0
   ```
   
   I think that we can run `dev/release/post-11-bump-versions.sh` in patch 
release with the following changes:
   
   ```diff
   diff --git a/dev/release/post-11-bump-versions.sh 
b/dev/release/post-11-bump-versions.sh
   index ad4403f1b..00f99d726 100755
   --- a/dev/release/post-11-bump-versions.sh
   +++ b/dev/release/post-11-bump-versions.sh
   @@ -41,6 +41,15 @@ version=$1
    next_version=$2
    next_version_snapshot="${next_version}-SNAPSHOT"
    
   +case "${version}" in
   +  *.0.0)
   +    is_major_release=1
   +    ;;
   +  *)
   +    is_major_release=0
   +    ;;
   +esac
   +
    if [ ${BUMP_UPDATE_LOCAL_DEFAULT_BRANCH} -gt 0 ]; then
      echo "Updating local default branch"
      git fetch --all --prune --tags --force -j$(nproc)
   @@ -68,8 +77,8 @@ if [ ${BUMP_DEB_PACKAGE_NAMES} -gt 0 ]; then
        cd $SOURCE_DIR/../tasks/linux-packages/apache-arrow
        for target in debian*/lib*${deb_lib_suffix}.install; do
          git mv \
   -    ${target} \
   -    $(echo $target | sed -e "s/${deb_lib_suffix}/${next_deb_lib_suffix}/")
   +        ${target} \
   +        $(echo $target | sed -e 
"s/${deb_lib_suffix}/${next_deb_lib_suffix}/")
        done
        
deb_lib_suffix_substitute_pattern="s/(lib(arrow|gandiva|parquet|plasma)[-a-z]*)${deb_lib_suffix}/\\1${next_deb_lib_suffix}/g"
        sed -i.bak -E -e "${deb_lib_suffix_substitute_pattern}" debian*/control*
   @@ -107,7 +116,7 @@ if [ ${BUMP_PUSH} -gt 0 ]; then
      git push apache ${DEFAULT_BRANCH}
    fi
    
   -if [ ${BUMP_TAG} -gt 0 ]; then
   +if [ ${BUMP_TAG} -gt 0 -a ${is_major_release} -gt 0 ]; then
      dev_tag=apache-arrow-${next_version}.dev
      echo "Tagging ${dev_tag}"
      git tag ${dev_tag} ${DEFAULT_BRANCH}
   diff --git a/dev/release/utils-prepare.sh b/dev/release/utils-prepare.sh
   index 1e50a9295..20346e66a 100644
   --- a/dev/release/utils-prepare.sh
   +++ b/dev/release/utils-prepare.sh
   @@ -166,22 +166,18 @@ update_versions() {
        parquet/writer_properties.go
      sed -i.bak -E -e \
        "s/const PkgVersion = \".*/const PkgVersion = \"${version}\"/" \
   -    arrow/doc.go  
   +    arrow/doc.go
    
      find . -name "*.bak" -exec rm {} \;
      git add .
   -  popd  
   +  popd
    
   -  case "${base_version}" in
   -    *.0.0)
   -      pushd "${ARROW_DIR}"
   -      ${PYTHON:-python3} "dev/release/utils-update-docs-versions.py" \
   -                         . \
   -                         "${base_version}" \
   -                         "${next_version}"
   -      git add docs/source/_static/versions.json
   -      git add r/pkgdown/assets/versions.json
   -      popd
   -      ;;
   -  esac
   +  pushd "${ARROW_DIR}"
   +  ${PYTHON:-python3} "dev/release/utils-update-docs-versions.py" \
   +                     . \
   +                     "${base_version}" \
   +                     "${next_version}"
   +  git add docs/source/_static/versions.json
   +  git add r/pkgdown/assets/versions.json
   +  popd
    }
   diff --git a/dev/release/utils-update-docs-versions.py 
b/dev/release/utils-update-docs-versions.py
   index af9d05ec1..3a5260435 100644
   --- a/dev/release/utils-update-docs-versions.py
   +++ b/dev/release/utils-update-docs-versions.py
   @@ -27,30 +27,32 @@ next_version = sys.argv[3]
    main_versions_path = dir_path + "/docs/source/_static/versions.json"
    r_versions_path = dir_path + "/r/pkgdown/assets/versions.json"
    
   -# Update main docs version script
   -
   -with open(main_versions_path) as json_file:
   -    old_versions = json.load(json_file)
   -
    split_version = version.split(".")
   -split_next_version = next_version.split(".")
   -dev_compatible_version = ".".join(split_next_version[:2])
   -stable_compatible_version = ".".join(split_version[:2])
   -previous_compatible_version = old_versions[1]["name"].split(" ")[0]
    
   -# Create new versions
   -new_versions = [
   -    {"name": f"{dev_compatible_version} (dev)",
   -     "version": "dev/"},
   -    {"name": f"{stable_compatible_version} (stable)",
   -     "version": ""},
   -    {"name": previous_compatible_version,
   -     "version": f"{previous_compatible_version}/"},
   -    *old_versions[2:],
   -]
   -with open(main_versions_path, 'w') as json_file:
   -    json.dump(new_versions, json_file, indent=4)
   -    json_file.write("\n")
   +if split_version[1:] == ["0", "0"]:
   +    # Update main docs version script
   +
   +    with open(main_versions_path) as json_file:
   +        old_versions = json.load(json_file)
   +
   +    split_next_version = next_version.split(".")
   +    dev_compatible_version = ".".join(split_next_version[:2])
   +    stable_compatible_version = ".".join(split_version[:2])
   +    previous_compatible_version = old_versions[1]["name"].split(" ")[0]
   +
   +    # Create new versions
   +    new_versions = [
   +        {"name": f"{dev_compatible_version} (dev)",
   +         "version": "dev/"},
   +        {"name": f"{stable_compatible_version} (stable)",
   +         "version": ""},
   +        {"name": previous_compatible_version,
   +         "version": f"{previous_compatible_version}/"},
   +        *old_versions[2:],
   +    ]
   +    with open(main_versions_path, 'w') as json_file:
   +        json.dump(new_versions, json_file, indent=4)
   +        json_file.write("\n")
    
    # Update R package version script
    
   @@ -62,12 +64,19 @@ release_r_version = version
    previous_r_name = old_r_versions[1]["name"].split(" ")[0]
    previous_r_version = ".".join(previous_r_name.split(".")[:2])
    
   -new_r_versions = [
   -    {"name": f"{dev_r_version} (dev)", "version": "dev/"},
   -    {"name": f"{release_r_version} (release)", "version": ""},
   -    {"name": previous_r_name, "version": f"{previous_r_version}/"},
   -    *old_r_versions[2:],
   -]
   +if split_version[1:] == ["0", "0"]:
   +    new_r_versions = [
   +        {"name": f"{dev_r_version} (dev)", "version": "dev/"},
   +        {"name": f"{release_r_version} (release)", "version": ""},
   +        {"name": previous_r_name, "version": f"{previous_r_version}/"},
   +        *old_r_versions[2:],
   +    ]
   +else:
   +    new_r_versions = [
   +        {"name": f"{dev_r_version} (dev)", "version": "dev/"},
   +        {"name": f"{release_r_version} (release)", "version": ""},
   +        *old_r_versions[2:],
   +    ]
    with open(r_versions_path, 'w') as json_file:
        json.dump(new_r_versions, json_file, indent=4)
        json_file.write("\n")
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to