citus/src/test/regress/upgrade/generate_citus_tarballs.sh

63 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
set -euxo pipefail
citus_old_version=$1
base="$(pwd)"
install_citus_and_tar() {
# do everything in a subdirectory to avoid clutter in current directory
mkdir -p "${builddir}" && cd "${builddir}"
"${citus_dir}/configure" --without-libcurl
installdir="${builddir}/install"
make "-j$(nproc)" && mkdir -p "${installdir}" && make DESTDIR="${installdir}" install
cd "${installdir}" && find . -type f -print > "${builddir}/files.lst"
tar cvf "${basedir}/install-citus${citus_version}.tar" $(cat "${builddir}"/files.lst)
mv "${basedir}/install-citus${citus_version}.tar" "${base}/install-citus${citus_version}.tar"
cd "${builddir}" && rm -rf install files.lst && make clean
}
build_current() {
citus_version="$1"
basedir="${base}/${citus_version}"
mkdir -p "${basedir}"
citus_repo="${base}/../../../.."
cd "$citus_repo" && cp -R . /tmp/citus_copy
mv /tmp/citus_copy "${basedir}/citus_${citus_version}"
builddir="${basedir}/build"
cd "${basedir}"
citus_dir=${basedir}/citus_$citus_version
make -C "${citus_dir}" clean
cd "${citus_dir}"
./configure --without-libcurl
install_citus_and_tar
}
build_ext() {
citus_version="$1"
basedir="${base}/${citus_version}"
mkdir -p "${basedir}"
cd "${basedir}"
citus_dir=${basedir}/citus_$citus_version
git clone --branch "$citus_version" https://github.com/citusdata/citus.git --depth 1 citus_"$citus_version"
builddir="${basedir}/build"
install_citus_and_tar
}
build_current "master"
build_ext "${citus_old_version}"