mirror of
https://github.com/coder/code-server.git
synced 2026-06-03 02:49:34 +00:00
Fix Helm chart version bump script
Instead of relying on semver which is not installed, just parse it with bash.
This commit is contained in:
@@ -2,16 +2,65 @@
|
|||||||
|
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
function update_helm() {
|
# Given versions $1 and $2 figure out the first component that is different
|
||||||
local current
|
# (major, minor, patch).
|
||||||
current=$(yq .version ci/helm-chart/Chart.yaml)
|
function find_version_diff() {
|
||||||
local next
|
# shellcheck disable=SC2206
|
||||||
next=$(semver "$current" -i minor)
|
local a=( ${1//./ } )
|
||||||
echo "Bumping version from $current to $next..."
|
# shellcheck disable=SC2206
|
||||||
sed -i.bak "s/^version: $current\$/version: $next/" ci/helm-chart/Chart.yaml
|
local b=( ${2//./ } )
|
||||||
|
|
||||||
echo "Setting app version and image to $version..."
|
if [[ ${a[0]} != "${b[0]}" ]] ; then
|
||||||
|
echo major
|
||||||
|
elif [[ ${a[1]} != "${b[1]}" ]] ; then
|
||||||
|
echo minor
|
||||||
|
else
|
||||||
|
echo patch
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bump $1 by the bump type (major, minor, patch) in $2.
|
||||||
|
function bump_version() {
|
||||||
|
# shellcheck disable=SC2206
|
||||||
|
local a=( ${1//./ } )
|
||||||
|
case $2 in
|
||||||
|
major)
|
||||||
|
((a[0]++))
|
||||||
|
a[1]=0
|
||||||
|
a[2]=0
|
||||||
|
;;
|
||||||
|
minor)
|
||||||
|
((a[1]++))
|
||||||
|
a[2]=0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
((a[2]++))
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
echo "${a[0]}.${a[1]}.${a[2]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_helm() {
|
||||||
|
local chart_version
|
||||||
|
chart_version=$(yq .version ci/helm-chart/Chart.yaml)
|
||||||
|
local app_version
|
||||||
|
app_version=$(yq .appVersion ci/helm-chart/Chart.yaml)
|
||||||
|
local image_version
|
||||||
|
image_version=$(yq .image.tag ci/helm-chart/values.yaml)
|
||||||
|
|
||||||
|
local bump_type
|
||||||
|
bump_type=$(find_version_diff "$app_version" "$version")
|
||||||
|
local chart_version_bump
|
||||||
|
chart_version_bump=$(bump_version "$chart_version" "$bump_type")
|
||||||
|
|
||||||
|
# Use sed to replace because yq will reformat.
|
||||||
|
echo "Bumping version from $chart_version to $chart_version_bump..."
|
||||||
|
sed -i.bak "s/^version: $chart_version\$/version: $chart_version_bump/" ci/helm-chart/Chart.yaml
|
||||||
|
|
||||||
|
echo "Bumping app version from $app_version to $version..."
|
||||||
sed -i.bak "s/^appVersion: .\+\$/appVersion: $version/" ci/helm-chart/Chart.yaml
|
sed -i.bak "s/^appVersion: .\+\$/appVersion: $version/" ci/helm-chart/Chart.yaml
|
||||||
|
|
||||||
|
echo "Bumping image version from $image_version to $version..."
|
||||||
sed -i.bak "s/^ tag: .\+\$/ tag: '$version'/" ci/helm-chart/values.yaml
|
sed -i.bak "s/^ tag: .\+\$/ tag: '$version'/" ci/helm-chart/values.yaml
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user