-
-
Notifications
You must be signed in to change notification settings - Fork 56
Expand file tree
/
Copy pathrenovate-update-chart-values.sh
More file actions
executable file
·62 lines (48 loc) · 2.04 KB
/
Copy pathrenovate-update-chart-values.sh
File metadata and controls
executable file
·62 lines (48 loc) · 2.04 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
#!/bin/bash
set -o pipefail
[[ "${#}" == "4" ]] || {
echo "Please give the chart name, the update type, the old version and the new version of the Image as only arguments"
exit 3
}
CHART="$1"
UPDATE_TYPE="$2"
IMAGE_VERSION_OLD="$3"
IMAGE_VERSION_NEW="$4"
CHART_VERSION_OLD="$(awk '/^version:/ {print $2}' "charts/${CHART}/Chart.yaml")"
echo "Old versions are:"
echo "Chart: ${CHART_VERSION_OLD}"
echo "Image: ${IMAGE_VERSION_OLD}"
CHART_VERSION_MAJOR="$(echo "${CHART_VERSION_OLD}" | cut -d. -f1)"
CHART_VERSION_MINOR="$(echo "${CHART_VERSION_OLD}" | cut -d. -f2)"
CHART_VERSION_PATCH="$(echo "${CHART_VERSION_OLD}" | cut -d. -f3)"
if [[ "${UPDATE_TYPE}" =~ (major|replacement) ]]
then
CHART_VERSION_MAJOR="$(( CHART_VERSION_MAJOR + 1 ))"
CHART_VERSION_MINOR=0
CHART_VERSION_PATCH=0
elif [[ "${UPDATE_TYPE}" =~ 'minor' ]]
then
CHART_VERSION_MINOR="$(( CHART_VERSION_MINOR + 1 ))"
CHART_VERSION_PATCH=0
else
CHART_VERSION_PATCH="$(( CHART_VERSION_PATCH + 1))"
fi
CHART_VERSION_NEW="${CHART_VERSION_MAJOR}.${CHART_VERSION_MINOR}.${CHART_VERSION_PATCH}"
echo "New versions are:"
echo "Chart: ${CHART_VERSION_NEW}"
echo "Image: ${IMAGE_VERSION_NEW}"
# change version in Chart.yaml
sed -i "s/^version:.*/version: ${CHART_VERSION_NEW}/g" "charts/${CHART}/Chart.yaml"
# change appVersion in Chart.yaml
sed -i "s/^appVersion:.*/appVersion: \"${IMAGE_VERSION_NEW}\"/g" "charts/${CHART}/Chart.yaml"
# replace changes annotation for artifacthub in Chart.yaml
changes=$"- kind: changed\n description: App Version to ${IMAGE_VERSION_NEW}\n"
yq eval ".annotations.\"artifacthub.io/changes\" = \"${changes}\"" -i charts/${CHART}/Chart.yaml
# change image tag in values.yaml
sed -i "s/${IMAGE_VERSION_OLD}/${IMAGE_VERSION_NEW}/g" "charts/${CHART}/values.yaml"
# change image tag in values.schema.json
sed -i "s/${IMAGE_VERSION_OLD}/${IMAGE_VERSION_NEW}/g" "charts/${CHART}/values.schema.json"
# change image tag in README.md
sed -i "s/${IMAGE_VERSION_OLD}/${IMAGE_VERSION_NEW}/g" "charts/${CHART}/README.md"
# update CHANGELOG.md
.github/generate-chart-changelogs.sh