Skip to content
Snippets Groups Projects
Commit 0d88eded authored by Rick Carback's avatar Rick Carback
Browse files

Update download script to detect and attempt downloads when on a feature/* branch

parent 4e5cf144
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env bash
set -x
# Get platform parameter
if [[ $1 == "l" ]] ||[[ $1 == "linux" ]] || [[ -z $1 ]]; then
BIN=".linux64?job=build"
......@@ -15,42 +13,91 @@ else
fi
# Set up the URL for downloading the binaries
PRIVATEGRITY_REPOS="https://gitlab.com/api/v4/projects/elixxir%2F"
MASTER_URL_FRAG="jobs/artifacts/release/raw/release"
# Get URLs for artifacts from all relevant repos
UDB_URL="${PRIVATEGRITY_REPOS}user-discovery-bot/$MASTER_URL_FRAG/udb$BIN"
SERVER_URL="${PRIVATEGRITY_REPOS}server/$MASTER_URL_FRAG/server$BIN"
GW_URL="${PRIVATEGRITY_REPOS}gateway/$MASTER_URL_FRAG/gateway$BIN"
PERMISSIONING_URL="${PRIVATEGRITY_REPOS}registration/$MASTER_URL_FRAG/registration$BIN"
CLIENT_URL="${PRIVATEGRITY_REPOS}client/$MASTER_URL_FRAG/client$BIN"
DEFAULTBRANCH=${DEFAULTBRANCH:="release"}
REPOS_API=${REPOS_API:="https://gitlab.com/api/v4/projects/elixxir%2F"}
# Set up the gitlab access token
PATKEY="rBxQ6BvKP-eFxxeM3Ugm"
PATKEY=${PATKEY:="rBxQ6BvKP-eFxxeM3Ugm"}
# Make the binaries directory
download_path="$(pwd)/bin"
mkdir -p "$download_path"
# Delete old binaries
rm $download_path/*
# If we are on a feature branch, add it to the eval list
FBRANCH=$(git status | grep branch | grep feature | awk '{print $3}')
# Also check for the branch name without the "feature" on it.
FBRANCH2=$(echo $FBRANCH | sed 's/feature\///g')
echo "Checking for binaries at $FBRANCH $FBRANCH2 $DEFAULTBRANCH..."
echo "(Note: if you forced a branch, that is checked first!)"
for BRANCH in $(echo "forcedbranch" $FBRANCH $FBRANCH2 $DEFAULTBRANCH); do
echo $BRANCH
BRANCH_URL=${BRANCH_URL:="jobs/artifacts/$BRANCH/raw/release"}
echo $BRANCH_URL
# Get URLs for artifacts from all relevant repos
UDB_URL=${UDB_URL:="${REPOS_API}user-discovery-bot/$BRANCH_URL/udb$BIN"}
SERVER_URL=${SERVER_URL:="${REPOS_API}server/$BRANCH_URL/server$BIN"}
GW_URL=${GW_URL:="${REPOS_API}gateway/$BRANCH_URL/gateway$BIN"}
PERMISSIONING_URL=${PERMISSIONING_URL:="${REPOS_API}registration/$BRANCH_URL/registration$BIN"}
CLIENT_URL=${CLIENT_URL:="${REPOS_API}client/$BRANCH_URL/client$BIN"}
SERVER_GPU_URL=${SERVER_GPU_URL:="${REPOS_API}server/$BRANCH_URL/server-cuda.linux64?job=build"}
GPULIB_URL=${GPULIB_URL:="${REPOS_API}server/$BRANCH_URL/libpowmosm75.so?job=build"}
set -x
# Silently download the UDB binary to the provisioning directory
if [ ! -f $download_path/udb ]; then
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/udb" ${UDB_URL}
fi
# Silently download the Server binary to the provisioning directory
if [ ! -f $download_path/server ]; then
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/server" ${SERVER_URL}
fi
# Silently download the Gateway binary to the provisioning directory
if [ ! -f $download_path/gateway ]; then
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/gateway" ${GW_URL}
fi
# Silently download the permissioning binary to the provisioning directory
if [ ! -f $download_path/permissioning ]; then
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/permissioning" ${PERMISSIONING_URL}
fi
# Silently download the UDB binary to the provisioning directory
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/udb" ${UDB_URL}
# Silently download the permissioning binary to the provisioning directory
if [ ! -f $download_path/client ]; then
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/client" ${CLIENT_URL}
fi
# Silently download the Server binary to the provisioning directory
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/server" ${SERVER_URL}
# Silently download the Server binary to the provisioning directory
if [ ! -f $download_path/server-cuda ]; then
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/server-cuda" ${SERVER_URL}
fi
# Silently download the Gateway binary to the provisioning directory
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/gateway" ${GW_URL}
# Silently download the GPU Library to the provisioning directory
if [ ! -f $download_path/libpowmosm75.so ]; then
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/libpowmosm75.so" ${GPULIB_URL}
fi
# Silently download the permissioning binary to the provisioning directory
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/permissioning" ${PERMISSIONING_URL}
set +x
# Silently download the permissioning binary to the provisioning directory
curl -s -f -L -H "PRIVATE-TOKEN: $PATKEY" -o "$download_path/client" ${CLIENT_URL}
unset BRANCH_URL
unset UDB_URL
unset SERVER_URL
unset GW_URL
unset PERMISSIONING_URL
unset CLIENT_URL
unset SERVER_GPU_URL
unset GPULIB_URL
done
# Make binaries executable
chmod +x "$download_path"/*
chmod +x "$download_path"/[^l]*
file "$download_path"/*
echo "If you see HTML or anything but linux binaries above, something is messed up!"
echo "If you see HTML or anything but linux/mac binaries above, something is messed up!"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment