Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARROW-15601: [Docs][Release] Update post release script to move stable docs + keep dev docs #12355

Closed
30 changes: 28 additions & 2 deletions dev/release/post-09-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,25 @@ SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ARROW_DIR="${SOURCE_DIR}/../.."
ARROW_SITE_DIR="${ARROW_DIR}/../arrow-site"

if [ "$#" -ne 1 ]; then
echo "Usage: $0 <version>"
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <version> <previous_version>"
exit 1
fi

version=$1
previous_version=$2
release_tag="apache-arrow-${version}"
branch_name=release-docs-${version}

case "${version}" in
*.0.0)
is_major_release=yes
;;
*)
is_major_release=no
;;
esac

pushd "${ARROW_SITE_DIR}"
source "${SOURCE_DIR}/git-vars.sh"
git fetch --all --prune --tags --force -j$(nproc)
Expand All @@ -44,10 +54,22 @@ git checkout -b asf-site origin/asf-site
git rebase apache/asf-site
git branch -D ${branch_name} || :
git checkout -b ${branch_name}
# list and remove previous versioned docs
versioned_paths=()
for versioned_path in docs/*.0/; do
versioned_paths+=(${versioned_path})
rm -rf ${versioned_path}
done
# add to list and remove dev docs
versioned_paths+=("docs/dev/")
rm -rf docs/dev/
if [ "$is_major_release" = "yes" ] ; then
# copy the current stable docs to temporary directory
# (remove java reference to reduce size)
rm -rf docs/java/reference/
cp -r docs/ docs_temp/
fi
# delete current stable docs and restore all previous versioned docs
rm -rf docs/*
git checkout "${versioned_paths[@]}"
curl \
Expand All @@ -58,8 +80,12 @@ curl \
tar xvf docs.tar.gz
rm -f docs.tar.gz
git checkout docs/c_glib/index.html
if [ "$is_major_release" = "yes" ] ; then
mv docs_temp docs/${previous_version}
fi
git add docs
git commit -m "[Website] Update documentations for ${version}"
git clean -d -f -x
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not strictly "needed" for the creating the correct PR, but the script does leave a bunch of ignored files after running it locally (eg we don't commit the .doctrees files), and including this ensures it cleans up after itself. I could also limit it to the /docs/ directory (or remove it altogether)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I see.

popd

: ${PUSH:=1}
Expand Down