summaryrefslogtreecommitdiff
path: root/taler-build/switch_active.sh
blob: 487a83f91171b31f3ef995509349a3fbea5e36be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

# Build all Taler components (currently only the wallet build+test is
# not supported) for the non active party of blue-green, and switch to
# it whenever compilation and testing succeed.
# The script is not portable to system using different usernames and directories,
# respect to taler.net, for blue-green deployments

set -eu

# figure out which is the inactive
ACTIVE=$(readlink /home/test/sockets | awk -F/ '{print $3}')

# exit if active
if [[ $(whoami) == $ACTIVE ]]; then
  exit
fi

if [[ 'test-green' == $ACTIVE ]]; then
  INACTIVE='test-blue'
else
  INACTIVE='test-green'
fi

# build and restart
# FIXME calling 'make check' before switching still missing
if taler-deployment-build; ! test $? = 0; then
  echo "Failed to rebuild, not switching"
else
  echo "Successfully built, switching"
  ln -fs -T /home/$INACTIVE/sockets /home/test/sockets
fi

taler-deployment-restart