Files
openstack-helm/tools/chart_version.sh
Ruslan Aliev d3e8d6e541 Fix chart_version.sh script
wc -l sometimes produces leading spaces [1], so it's necessary
to trim them to maintain expected output format.

[1] https://unix.stackexchange.com/questions/205906/extra-space-with-counted-line-number/205910#205910

Change-Id: Ic95c44fa56051ef94319e663bbc533f77dbc3d19
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
2025-03-25 10:19:49 -05:00

33 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
if [[ $# -lt 2 ]]; then
echo "Usage: $0 <chart_dir> <base_version>"
echo " <chart_dir> - The chart directory."
echo " <base_version> - The base version. For example 2024.2.0."
echo " Will be modified to 2024.2.<patch>+<commit_sha>"
exit 1
fi
CHART_DIR=$1
BASE_VERSION=$2
MAJOR=$(echo $BASE_VERSION | cut -d. -f1);
MINOR=$(echo $BASE_VERSION | cut -d. -f2);
if git show-ref --tags $BASE_VERSION --quiet; then
# if there is tag $BASE_VERSION, then we count the number of commits since the tag
PATCH=$(git log --oneline ${BASE_VERSION}.. $CHART_DIR | wc -l | xargs)
else
# if there is no tag $BASE_VERSION, then we count the number of commits since the beginning
PATCH=$(git log --oneline $CHART_DIR | wc -l | xargs)
fi
COMMIT_SHA=$(git rev-parse --short HEAD);
OSH_INFRA_COMMIT_SHA=$(cd ../openstack-helm-infra; git rev-parse --short HEAD);
if [[ ${COMMIT_SHA} = ${OSH_INFRA_COMMIT_SHA} ]]; then
BUILD_META=${COMMIT_SHA}
else
BUILD_META=${COMMIT_SHA}-${OSH_INFRA_COMMIT_SHA}
fi
echo "${MAJOR}.${MINOR}.${PATCH}+${BUILD_META}"