Files
odo/scripts/release-bit-verification.sh
ritudes 63bf76a30a Updating the oudated release script (#6801)
* Updating the oudated release script

Signed-off-by: Ritu Deshmukh <rideshmu@redhat.com>

* Update release-bit-verification.sh

* Update scripts/release-bit-verification.sh

Co-authored-by: Armel Soro <armel@rm3l.org>

* Update scripts/release-bit-verification.sh

Co-authored-by: Armel Soro <armel@rm3l.org>

* Update release-bit-verification.sh

* Update release-bit-verification.sh

* Update release-bit-verification.sh

* Update release-bit-verification.sh

* Update release-bit-verification.sh

---------

Signed-off-by: Ritu Deshmukh <rideshmu@redhat.com>
Co-authored-by: Armel Soro <armel@rm3l.org>
2023-05-23 09:23:50 -04:00

93 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/sh
############################################################################
# PREREQUISITES FOR THIS SCRIPT
# 1. Redistributable-binary(.rpm) should be passed as the first argument
# 2. Login to the cluster should be done prior to running this script
# 3. The cluster should be in a state where it can be used for testing
#
# USAGE:
# ./release-bit-verification.sh redistributable-binary
#
# Example: ./release-bit-verification.sh ~/Downloads/odo-redistributable-2.4.3-1.el8.x86_64.rpm
#
#For erroring out in case of error
set -eo pipefail
shout() {
echo "--------------------------------$1------------------------------------------"
}
# Check SHASUM for all the binary files and there should be no difference
# Checking for no or invaild arguments
if [ "$#" -lt 1 ]
then
echo "No arguments supplied"
exit 1
fi
if [ ! -f ${1} ];
then
echo "Please enter a valid filepath";
exit 1
fi
#Creating an Temp directory
WORKING_DIR=$(mktemp -d)
shout "WORKING_DIR=$WORKING_DIR"
export REPO_URL=${REPO_URL:-"https://github.com/redhat-developer/odo.git"}
# Extract from rpm file
rpm2cpio ${1} | cpio -idmvD $WORKING_DIR
pushd $WORKING_DIR/usr/share/odo-redistributable/
# Check sha256sum for all the files
while IFS= read -r line; do
read -r SHA FILE <<<"$line"
read -r SHATOCHECK FILE <<<$(sha256sum $FILE)
if [[ $SHA == $SHATOCHECK ]]; then
# Print if the file is correct
printf '%-50s\U0002705\n' $FILE
fi
done <SHA256_SUM
shout
# Copy binary for testing purpose
OS=$(uname -s)
ARCH=$(uname -m)
if [[ $OS == "Linux" ]]; then
if [[ $ARCH == "x86_64" ]]; then
cp ./odo-linux-amd64 odo
PATH=$(pwd):$PATH
fi
fi
# Check odo verion and if it is correct
VERSION=$(cat VERSION)
ODOVERSIONCHECK=$(odo version)
if [[ "$ODOVERSIONCHECK" == *"$VERSION"* ]]; then
echo "odo binary is installed correctly"
else
echo "odo binary is not installed correctly"
exit 1
fi
#clone repo for testing and checkout release tag
pushd $WORKING_DIR
if [ -d "odo" ]; then
rm -rf odo
fi
git clone $REPO_URL odo && cd $WORKING_DIR/odo && git checkout "v$VERSION"
#Run tests
make test-e2e
# Cleanup
rm -rf "$WORKING_DIR"