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
|
||||
#
|
||||
# Copyright (c) 2018 Wind River Systems, Inc.
|
||||
# Copyright (c) 2024 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@ -929,5 +929,10 @@ else
|
||||
build_application_tarball
|
||||
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