aboutsummaryrefslogtreecommitdiff
path: root/qa-yolean.sh
blob: dcdd6f21acca9626399821b4a268b16f8c3df9c3 (plain) (blame)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
# Combines addons into what we 'kubectl apply -f' to production
set -ex

ANNOTATION_PREFIX='yolean.se/kubernetes-kafka-'
BUILD=$(basename $0)
REMOTE=origin
FROM="$REMOTE/"
START=master

[ ! -z "$(git status --untracked-files=no -s)" ] && echo "Working copy must be clean" && exit 1

function annotate {
  key=$1
  value=$2
  file=$3
  case $(uname) in
    Darwin*)
      sed -i '' 's|      annotations:|      annotations:\
        --next-annotation--|' $file
      sed -i '' "s|--next-annotation--|${ANNOTATION_PREFIX}$key: '$value'|" $file
      ;;
    *)
      sed -i "s|      annotations:|      annotations:\n        ${ANNOTATION_PREFIX}$key: '$value'|" $file
      ;;
  esac
}

git checkout ${FROM}$START
REVS="$START:$(git rev-parse --short ${FROM}$START)"

git checkout -b qa-yolean-$(date +"%Y%m%dT%H%M%S")

for BRANCH in \
  addon-storage-classes \
  rolling-update \
  addon-rest \
  addon-metrics \
  addon-kube-events-topic
do
  git merge --no-ff ${FROM}$BRANCH -m "qa-yolean merge ${FROM}$BRANCH" && \
    REVS="$REVS $BRANCH:$(git rev-parse --short ${FROM}$BRANCH)"
done

END_BRANCH_GIT=$(git rev-parse --abbrev-ref HEAD)

for F in ./50kafka.yml ./zookeeper/50pzoo.yml ./zookeeper/51zoo.yml
do
  annotate revs "$REVS" $F
  annotate build "$END_BRANCH_GIT" $F
done