mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
CI: Various updates to buildAsterisk.sh
* Added ---no-configure, --no-menuselect, --no-make and --no-alembic options that prevent those actions from being performed. Useful for testing and re-running portions of the build after fixing earlier failures. * Added "set -e" to abort the script on command failure. Not sure why this wasn't there in the first place. * Fixed a few echos that were redirecting to stderr when they shouldn't have been. * Catch more alembic failures by actually trying to generate the SQL. Change-Id: I9f395fa4e9254be7299e7c1014f1a13db78faffb
This commit is contained in:
@@ -4,8 +4,14 @@ CIDIR=$(dirname $(readlink -fn $0))
|
||||
COVERAGE=0
|
||||
REF_DEBUG=0
|
||||
DISABLE_BINARY_MODULES=0
|
||||
NO_CONFIGURE=0
|
||||
NO_MENUSELECT=0
|
||||
NO_MAKE=0
|
||||
NO_ALEMBIC=0
|
||||
source $CIDIR/ci.functions
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z $BRANCH_NAME ]; then
|
||||
BRANCH_NAME=$(git config -f .gitreview --get gerrit.defaultbranch)
|
||||
fi
|
||||
@@ -32,6 +38,14 @@ gen_mods() {
|
||||
done
|
||||
}
|
||||
|
||||
run_alembic() {
|
||||
pushd contrib/ast-db-manage >/dev/null
|
||||
runner alembic $@
|
||||
RC=$?
|
||||
popd > /dev/null
|
||||
return $RC
|
||||
}
|
||||
|
||||
[ x"$OUTPUT_DIR" != x ] && mkdir -p "$OUTPUT_DIR" 2> /dev/null
|
||||
|
||||
if [ -z $TESTED_ONLY ]; then
|
||||
@@ -95,8 +109,11 @@ fi
|
||||
|
||||
export WGET_EXTRA_ARGS="--quiet"
|
||||
|
||||
if [ $NO_CONFIGURE -eq 0 ] ; then
|
||||
runner ./configure ${common_config_args} > ${OUTPUT_DIR:+${OUTPUT_DIR}/}configure.txt
|
||||
fi
|
||||
|
||||
if [ $NO_MENUSELECT -eq 0 ] ; then
|
||||
runner ${MAKE} menuselect.makeopts
|
||||
|
||||
runner menuselect/menuselect `gen_mods enable DONT_OPTIMIZE BETTER_BACKTRACES MALLOC_DEBUG DO_CRASH TEST_FRAMEWORK` menuselect.makeopts
|
||||
@@ -144,8 +161,11 @@ mod_enables="app_voicemail app_directory FILE_STORAGE"
|
||||
mod_enables+=" res_mwi_external res_ari_mailboxes res_mwi_external_ami res_stasis_mailbox"
|
||||
mod_enables+=" CORE-SOUNDS-EN-GSM MOH-OPSOUND-GSM EXTRA-SOUNDS-EN-GSM"
|
||||
runner menuselect/menuselect `gen_mods enable $mod_enables` menuselect.makeopts
|
||||
fi
|
||||
|
||||
if [ $NO_MAKE -eq 0 ] ; then
|
||||
runner ${MAKE} -j8 || runner ${MAKE} -j1 NOISY_BUILD=yes
|
||||
fi
|
||||
|
||||
runner rm -f ${LCOV_DIR}/*.info
|
||||
if [ $COVERAGE -eq 1 ] ; then
|
||||
@@ -162,43 +182,44 @@ if [ $COVERAGE -eq 1 ] ; then
|
||||
--output-file ${LCOV_DIR}/initial.info
|
||||
fi
|
||||
|
||||
if [ $NO_ALEMBIC -eq 0 ] ; then
|
||||
ALEMBIC=$(which alembic 2>/dev/null || : )
|
||||
if [ x"$ALEMBIC" = x ] ; then
|
||||
echo "Alembic not installed"
|
||||
>&2 echo "Alembic not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd contrib/ast-db-manage
|
||||
find -name *.pyc -delete
|
||||
out=$(alembic -c config.ini.sample branches)
|
||||
find contrib/ast-db-manage -name *.pyc -delete
|
||||
out=$(run_alembic -c config.ini.sample branches)
|
||||
if [ "x$out" != "x" ] ; then
|
||||
>&2 echo "Alembic branches were found for config"
|
||||
>&2 echo $out
|
||||
exit 1
|
||||
else
|
||||
>&2 echo "Alembic for 'config' OK"
|
||||
fi
|
||||
run_alembic -c config.ini.sample upgrade head --sql > "${OUTPUT_DIR:+${OUTPUT_DIR}/}alembic-config.sql" || exit 1
|
||||
echo "Alembic for 'config' OK"
|
||||
|
||||
out=$(alembic -c cdr.ini.sample branches)
|
||||
out=$(run_alembic -c cdr.ini.sample branches)
|
||||
if [ "x$out" != "x" ] ; then
|
||||
>&2 echo "Alembic branches were found for cdr"
|
||||
>&2 echo $out
|
||||
exit 1
|
||||
else
|
||||
>&2 echo "Alembic for 'cdr' OK"
|
||||
fi
|
||||
run_alembic -c cdr.ini.sample upgrade head --sql > "${OUTPUT_DIR:+${OUTPUT_DIR}/}alembic-cdr.sql" || exit 1
|
||||
echo "Alembic for 'cdr' OK"
|
||||
|
||||
out=$(alembic -c voicemail.ini.sample branches)
|
||||
out=$(run_alembic -c voicemail.ini.sample branches)
|
||||
if [ "x$out" != "x" ] ; then
|
||||
>&2 echo "Alembic branches were found for voicemail"
|
||||
>&2 echo $out
|
||||
exit 1
|
||||
else
|
||||
>&2 echo "Alembic for 'voicemail' OK"
|
||||
fi
|
||||
run_alembic -c voicemail.ini.sample upgrade head --sql > "${OUTPUT_DIR:+${OUTPUT_DIR}/}alembic-voicemail.sql" || exit 1
|
||||
echo "Alembic for 'voicemail' OK"
|
||||
fi
|
||||
|
||||
if [ -f "doc/core-en_US.xml" ] ; then
|
||||
${MAKE} validate-docs || ${MAKE} NOISY_BUILD=yes validate-docs
|
||||
runner ${MAKE} validate-docs || ${MAKE} NOISY_BUILD=yes validate-docs
|
||||
fi
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user