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>
33 lines
1.1 KiB
Bash
Executable File
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}"
|