Skip to content

Commit

Permalink
Add script for generating release tarball. (#6544)
Browse files Browse the repository at this point in the history
  • Loading branch information
trivialfis committed Dec 23, 2020
1 parent 2231940 commit cb207a3
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 1 deletion.
91 changes: 91 additions & 0 deletions dev/release-tarball.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
#!/usr/bin/env bash

# Helper script for creating release tarball.

print_usage() {
printf "Script for making release source tarball.\n"
printf "Usage:\n\trelease-tarball.sh <TAG>\n\n"
}

print_error() {
local msg=$1
printf "\u001b[31mError\u001b[0m: $msg\n\n"
print_usage
}

check_input() {
local TAG=$1
if [ -z $TAG ]; then
print_error "Empty tag argument"
exit -1
fi
}

check_curdir() {
local CUR_ABS=$1
printf "Current directory: ${CUR_ABS}\n"
local CUR=$(basename $CUR_ABS)

if [ $CUR == "dev" ]; then
cd ..
CUR=$(basename $(pwd))
fi

if [ $CUR != "xgboost" ]; then
print_error "Must be in project root or xgboost/dev. Current directory: ${CUR}"
exit -1;
fi
}

# Remove all submodules.
cleanup_git() {
local TAG=$1
check_input $TAG

git checkout $TAG || exit -1

local SUBMODULES=$(grep "path = " ./.gitmodules | cut -f 3 --delimiter=' ' -)

for module in $SUBMODULES; do
rm -rf ${module}/.git
done

rm -rf .git
}

make_tarball() {
local SRCDIR=$1
local CUR_ABS=$2
tar -czf xgboost.tar.gz xgboost

printf "Copying ${SRCDIR}/xgboost.tar.gz back to ${CUR_ABS}/xgboost.tar.gz .\n"
cp xgboost.tar.gz ${CUR_ABS}/xgboost.tar.gz
printf "Writing hash to ${CUR_ABS}/hash .\n"
sha256sum -z ${CUR_ABS}/xgboost.tar.gz | cut -f 1 --delimiter=' ' > ${CUR_ABS}/hash
}

main() {
local TAG=$1
check_input $TAG

local CUR_ABS=$(pwd)
check_curdir $CUR_ABS

local TMPDIR=$(mktemp -d)
printf "tmpdir: ${TMPDIR}\n"

git clean -xdf || exit -1
cp -R . $TMPDIR/xgboost
pushd .

cd $TMPDIR/xgboost
cleanup_git $TAG

cd ..
make_tarball $TMPDIR $CUR_ABS

popd
rm -rf $TMPDIR
}

main $1
1 change: 0 additions & 1 deletion tests/ci_build/ci_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -214,4 +214,3 @@ ${DOCKER_BINARY} run --rm --pid=host \
"${CI_DOCKER_EXTRA_PARAMS[@]}" \
"${DOCKER_IMG_NAME}" \
"${COMMAND[@]}"

0 comments on commit cb207a3

Please sign in to comment.