Newer
Older
#!/bin/bash
# This intended for updating the tested repos and their dependencies to the
# latest versions before running the integration test. All runtime options are
# set via environemnt variables:
# defaultBranch sets branch to use for all projects
# clientBranch sets branch to use for the client repository
# serverBranch sets branch to use for the server repository
# gatewayBranch sets branch to use for the gateway repository
# udbBranch sets branch to use for the user-discovery-bot repository
# regBranch sets branch to use for the registration repository
# Default branch to use when no explicit project branch is set. If not set, then
# it defaults to "master".
default="${defaultBranch-"master"}"
# Array of project names.
project_arr=(
client
server
gateway
user-discovery-bot
registration
)
# Array of each project's branch. If a branch is not explicitly set via an
# environemnt variable, then it defaults to defaultBranch.
branch_arr=(
"${clientBranch-$default}"
"${serverBranch-$default}"
"${gatewayBranch-$default}"
"${udbBranch-$default}"
"${regBranch-$default}"
)
git checkout "$1"
glide cache-clear && glide update
for ((i=0; i<${#project_arr[@]}; ++i)); do
pushd "$GOPATH"/src/gitlab.com/elixxir/client || exit
update "${branch_arr[i]}"