mirror of
https://github.com/redhat-developer/odo.git
synced 2025-10-19 03:06:19 +03:00
Add release-bit-verification script (#5284)
* Add release-bit-verification script to check release bit and run test against release bit. * make script executable Signed-off-by: anandrkskd <anandrkskd@gmail.com> * create and use temp dir for verification Signed-off-by: anandrkskd <anandrkskd@gmail.com> * use /tmp/tmp.p1dUCUH5Bn instead Signed-off-by: anandrkskd <anandrkskd@gmail.com> * update help note for the script Signed-off-by: anandrkskd <anandrkskd@gmail.com> * use PATH instead of GOBIN for binary Signed-off-by: anandrkskd <anandrkskd@gmail.com> * fixing Helper note for the script Signed-off-by: anandrkskd <anandrkskd@gmail.com> * remove hardcoded values Signed-off-by: anandrkskd <anandrkskd@gmail.com> * exit if the binary is not correctly Signed-off-by: anandrkskd <anandrkskd@gmail.com>
This commit is contained in:
committed by
GitHub
parent
e29f56d7ab
commit
eab2d100c1
77
scripts/release-bit-verification.sh
Executable file
77
scripts/release-bit-verification.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/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
|
||||
#
|
||||
|
||||
shout() {
|
||||
echo "--------------------------------$1------------------------------------------"
|
||||
}
|
||||
# Check SHASUM for all the binary files and there should be no difference
|
||||
|
||||
# Create a 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-integration-devfile
|
||||
make test-integration
|
||||
make test-operator-hub
|
||||
make test-e2e-all
|
||||
make test-cmd-project
|
||||
|
||||
# Cleanup
|
||||
rm -rf /tmp/odo /tmp/usr
|
||||
Reference in New Issue
Block a user