Add logic for building extra helm build
This adds the build-extra-helm-charts script that looks for *.helm.build build files. And then runs the build command provided in the required BUILD_COMMAND field. It is also expected an OUTPUTS field on the helm.build with a pattern indicating the path to outputs of this build rlative to helm output Testplan: PASS - Run jenkins job to run custom helm app build Story: 2011098 Task: 50092 Change-Id: I23cb4a488af1eaf83cfe5c0216557b183744de08 Signed-off-by: Romulo Leite <romulo.leite@windriver.com>
This commit is contained in:
parent
ee5b20995a
commit
9e802e8dd4
116
build-tools/build-extra-helm-charts.sh
Normal file
116
build-tools/build-extra-helm-charts.sh
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
source ${MY_REPO}/build-tools/git-utils.sh || exit 1
|
||||||
|
VERBOSE=false
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
cat >&2 <<EOF
|
||||||
|
Usage:
|
||||||
|
$(basename $0) [ --verbose ]
|
||||||
|
Options:
|
||||||
|
--verbose:
|
||||||
|
Verbose output
|
||||||
|
|
||||||
|
--help:
|
||||||
|
Give this help list
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find helm.build
|
||||||
|
function get_extra_files {
|
||||||
|
find ${GIT_LIST} -maxdepth 3 -type f -name "*helm.build" -and -path "*/debian/*.helm.build"
|
||||||
|
}
|
||||||
|
|
||||||
|
function perform_build {
|
||||||
|
local extra_build_file=$1
|
||||||
|
|
||||||
|
export SOURCE_PATH=${extra_build_file%%/debian/*}
|
||||||
|
local BUILD_COMMAND OUTPUT_PATTERNS
|
||||||
|
|
||||||
|
#Capture the build command
|
||||||
|
BUILD_COMMAND=$(source "$extra_build_file" && echo "$BUILD_COMMAND") || exit 1
|
||||||
|
if [ -z "$BUILD_COMMAND" ] ; then
|
||||||
|
echo "Error: BUILD_COMMAND is empty or not set"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#Capture the Output_patterns relative to helm-build directory
|
||||||
|
OUTPUT_PATTERNS=$(source "$extra_build_file" && echo "$OUTPUT_PATTERNS") || exit 1
|
||||||
|
if [ -z "$BUILD_COMMAND" ] ; then
|
||||||
|
echo "Error: OUTPUT_PATTERNS is empty or not set"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$VERBOSE" = true ] ; then
|
||||||
|
echo "Build command found: $BUILD_COMMAND"
|
||||||
|
echo "Output files will be in the following pattern: $OUTPUT_PATTERNS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Running $BUILD_COMMAND command on $SOURCE_PATH"
|
||||||
|
(
|
||||||
|
set -e
|
||||||
|
|
||||||
|
mkdir -p $MY_WORKSPACE/std/build-helm
|
||||||
|
cd "$SOURCE_PATH"
|
||||||
|
$BUILD_COMMAND
|
||||||
|
)
|
||||||
|
local output_dir
|
||||||
|
output_dir=$MY_WORKSPACE/std/build-helm
|
||||||
|
|
||||||
|
# Create extra helm charts list on helm build
|
||||||
|
( cd "$output_dir" && ls $OUTPUT_PATTERNS ; ) >"extra-helm-charts.lst" || exit 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
OPTS=$(getopt -o h,a:,A:,B:,r:,i:,l:,p: -l help,verbose -- "$@")
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval set -- "${OPTS}"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
case $1 in
|
||||||
|
--)
|
||||||
|
# End of getopt arguments
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
--verbose)
|
||||||
|
VERBOSE=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-h | --help )
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
declare -a EXTRA_FILES
|
||||||
|
EXTRA_FILES=($(get_extra_files)) || exit 1
|
||||||
|
|
||||||
|
if [ ${#EXTRA_FILES[@]} -eq 0 ]; then
|
||||||
|
echo "WARNING: Could not find helm.build files" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$VERBOSE" = true ] ; then
|
||||||
|
echo" .helm.build files found: $EXTRA_FILES"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for extra_file in ${EXTRA_FILES}; do
|
||||||
|
perform_build $extra_file
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 Wind River Systems, Inc.
|
# Copyright (c) 2024 Wind River Systems, Inc.
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
@ -929,5 +929,10 @@ else
|
|||||||
build_application_tarball
|
build_application_tarball
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
export EXTRA_HELM_CHARTS="build-extra-helm-charts.sh"
|
||||||
|
echo "Running build extra helm charts script"
|
||||||
|
|
||||||
|
"${MY_REPO}/build-tools/$EXTRA_HELM_CHARTS" || exit 1
|
||||||
|
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user