SemanticSearchPOC / tools /dev /windows /create_checksums.sh
KevinStephenson
Adding in weaviate code
b110593
raw
history blame
2.08 kB
#!/usr/bin/env bash
set -eou pipefail
VERSION=${1-}
function echo_green() {
green='\033[0;32m'
nc='\033[0m'
echo -e "${green}${*}${nc}"
}
function echo_red() {
red='\033[0;31m'
nc='\033[0m'
echo -e "${red}${*}${nc}"
}
function echo_purp_bold() {
purp='\033[1;35m'
nc='\033[0m'
echo -e "${purp}${*}${nc}"
}
function check_binary_files_existance() {
FILES=("binaries-windows-amd64.zip" "binaries-windows-arm64.zip")
for f in "${FILES[@]}"
do
if [ ! -f "$f" ]; then
echo_red "File $f does not exist."
echo_red "This script expects binaries-windows-amd64.zip and binaries-windows-arm64.zip files to be present."
echo_red "Before running it please first download windows binaries files from github CI pipeline"
echo_red "so that this script can properly modify the names of the files and generate checksums."
exit 1
fi
done
}
function calculate_checksums() {
shasum -a 256 $1 | cut -d ' ' -f 1 > $1.sha256
md5 $1 | cut -d ' ' -f 4 > $1.md5
}
function prepare_binary() {
arch=$1
arch_dir=$arch
mkdir $arch_dir && mv binaries-windows-$arch.zip $arch_dir && cd $arch_dir
unzip binaries-windows-$arch.zip
cp ../../../../README.md .
cp ../../../../LICENSE .
zip weaviate-$VERSION-windows-$arch.zip weaviate.exe LICENSE README.md
calculate_checksums weaviate-$VERSION-windows-$arch.zip
rm weaviate.exe
mv weaviate* ../
cd .. && rm -fr $arch_dir
}
function main() {
if test -z "$VERSION"; then
echo "Missing version parameter. Usage: $0 VERSION"
exit 1
fi
if case $VERSION in v*) false;; esac; then
VERSION="v$VERSION"
fi
check_binary_files_existance
OUT_DIR="dist"
if [ -d $OUT_DIR ]; then
rm -fr $OUT_DIR
fi
ARCHITECTURES=("amd64" "arm64")
for arch in "${ARCHITECTURES[@]}"
do
prepare_binary $arch
done
mkdir $OUT_DIR && mv weaviate* $OUT_DIR
echo_purp_bold "${VERSION} windows artifacts available here: $(pwd)/$OUT_DIR"
}
main "$@"