-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·111 lines (81 loc) · 2.22 KB
/
Copy pathbuild.sh
File metadata and controls
executable file
·111 lines (81 loc) · 2.22 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/bin/bash
OS_NAME="$(uname | awk '{print tolower($0)}')"
SHELL_DIR=$(dirname $0)
REPOSITORY=${GITHUB_REPOSITORY}
USERNAME=${GITHUB_ACTOR}
REPONAME=$(echo "${REPOSITORY}" | cut -d'/' -f2)
################################################################################
# command -v tput > /dev/null && TPUT=true
TPUT=
_echo() {
if [ "${TPUT}" != "" ] && [ "$2" != "" ]; then
echo -e "$(tput setaf $2)$1$(tput sgr0)"
else
echo -e "$1"
fi
}
_result() {
echo
_echo "# $@" 4
}
_command() {
echo
_echo "$ $@" 3
}
_success() {
echo
_echo "+ $@" 2
exit 0
}
_error() {
echo
_echo "- $@" 1
exit 1
}
_replace() {
if [ "${OS_NAME}" == "darwin" ]; then
sed -i "" -e "$1" $2
else
sed -i -e "$1" $2
fi
}
_prepare() {
# target
mkdir -p ${SHELL_DIR}/target/publish
mkdir -p ${SHELL_DIR}/target/release
# 755
find ${SHELL_DIR}/** | grep [.]sh | xargs chmod 755
# messAge
echo "$(date +%Y%m%d-%H%M)" > ./target/commit_message
}
################################################################################
_package() {
_check_version "helm"
_check_version "kubectl"
if [ -z "${CHANGED}" ]; then
_error "Not changed"
fi
# _check_version "awscli"
}
_check_version() {
NAME=${1}
NOW=$(cat ${SHELL_DIR}/README.md | grep "ENV ${NAME}" | awk '{print $3}' | xargs)
NEW=$(curl -sL opspresso.github.io/${NAME}/LATEST | xargs)
if [ -z "${NEW}" ]; then
return
fi
_result "$(printf '%-30s %-25s %-25s' "${NAME}" "${NOW}" "${NEW}")"
echo "${NAME} ${NEW}" >> ./target/commit_message
if [ "${NOW}" != "${NEW}" ]; then
CHANGED=true
# replace
_replace "s/ENV ${NAME} .*/ENV ${NAME} ${NEW}/g" ${SHELL_DIR}/README.md
_replace "s/ENV ${NAME} .*/ENV ${NAME} ${NEW}/g" ${SHELL_DIR}/Dockerfile
_replace "s/ENV ${NAME} .*/ENV ${NAME} ${NEW}/g" ${SHELL_DIR}/VERSIONS
_replace "s/ENV ${NAME} .*/ENV ${NAME} ${NEW}/g" ${SHELL_DIR}/alpine/Dockerfile
_replace "s/ENV ${NAME} .*/ENV ${NAME} ${NEW}/g" ${SHELL_DIR}/kube/Dockerfile
fi
}
################################################################################
_prepare
_package