diff options
Diffstat (limited to 'scripts/ci-build.sh')
-rwxr-xr-x | scripts/ci-build.sh | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/scripts/ci-build.sh b/scripts/ci-build.sh new file mode 100755 index 00000000..e5f97754 --- /dev/null +++ b/scripts/ci-build.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# Test script for continuous integration. + +# Stop script early on any error; check variables +set -eu + +# Paths to tools installed by ci-install.sh +MAIN_DIR=${PWD} +BUILD_DIR=${PWD}/ci_build +export PATH=${BUILD_DIR}/pru-gcc/bin:${PATH} +PYTHON=${BUILD_DIR}/python-env/bin/python + + +###################################################################### +# Section grouping output message helpers +###################################################################### + +start_test() +{ + echo "::group::=============== $1 $2" + set -x +} + +finish_test() +{ + set +x + echo "=============== Finished $2" + echo "::endgroup::" +} + + +###################################################################### +# Check for whitespace errors +###################################################################### + +start_test check_whitespace "Check whitespace" +./scripts/check_whitespace.sh +finish_test check_whitespace "Check whitespace" + + +###################################################################### +# Run compile tests for several different MCU types +###################################################################### + +DICTDIR=${BUILD_DIR}/dict +mkdir -p ${DICTDIR} + +for TARGET in test/configs/*.config ; do + start_test mcu_compile "$TARGET" + make clean + make distclean + unset CC + cp ${TARGET} .config + make olddefconfig + make V=1 + finish_test mcu_compile "$TARGET" + cp out/klipper.dict ${DICTDIR}/$(basename ${TARGET} .config).dict +done + + +###################################################################### +# Verify klippy host software +###################################################################### + +start_test klippy "Test invoke klippy" +$PYTHON scripts/test_klippy.py -d ${DICTDIR} test/klippy/*.test +finish_test klippy "Test invoke klippy" |