forked from Yolean/kubernetes-kafka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
qa-yolean.sh
executable file
·51 lines (43 loc) · 1.26 KB
/
qa-yolean.sh
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