| #!/bin/bash |
| # Copyright (c) 2020 Linaro Limited |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| set -eE |
| |
| function cleanup() |
| { |
| # Rename twister junit xml for use with junit-annotate-buildkite-plugin |
| # create dummy file if twister did nothing |
| if [ ! -f twister-out/twister.xml ]; then |
| touch twister-out/twister.xml |
| fi |
| mv twister-out/twister.xml twister-${BUILDKITE_JOB_ID}.xml |
| buildkite-agent artifact upload twister-${BUILDKITE_JOB_ID}.xml |
| |
| |
| # Upload test_file to get list of tests that are build/run |
| if [ -f test_file.txt ]; then |
| buildkite-agent artifact upload test_file.txt |
| fi |
| |
| # ccache stats |
| echo "--- ccache stats at finish" |
| ccache -s |
| |
| # Cleanup on exit |
| rm -fr * |
| |
| # disk usage |
| echo "--- disk usage at finish" |
| df -h |
| } |
| |
| trap cleanup ERR |
| |
| echo "--- run $0" |
| |
| git log -n 5 --oneline --decorate --abbrev=12 |
| |
| # Setup module cache |
| cd /workdir |
| ln -s /var/lib/buildkite-agent/zephyr-module-cache/modules |
| ln -s /var/lib/buildkite-agent/zephyr-module-cache/tools |
| ln -s /var/lib/buildkite-agent/zephyr-module-cache/bootloader |
| cd /workdir/zephyr |
| |
| export JOB_NUM=$((${BUILDKITE_PARALLEL_JOB}+1)) |
| |
| # ccache stats |
| echo "" |
| echo "--- ccache stats at start" |
| ccache -s |
| |
| |
| if [ -n "${DAILY_BUILD}" ]; then |
| TWISTER_OPTIONS=" --inline-logs -M -N --build-only --all --retry-failed 3 -v " |
| echo "--- DAILY BUILD" |
| west init -l . |
| west update 1> west.update.log || west update 1> west.update-2.log |
| west forall -c 'git reset --hard HEAD' |
| source zephyr-env.sh |
| ./scripts/twister --subset ${JOB_NUM}/${BUILDKITE_PARALLEL_JOB_COUNT} ${TWISTER_OPTIONS} |
| else |
| if [ -n "${BUILDKITE_PULL_REQUEST_BASE_BRANCH}" ]; then |
| ./scripts/ci/run_ci.sh -c -b ${BUILDKITE_PULL_REQUEST_BASE_BRANCH} -r origin \ |
| -m ${JOB_NUM} -M ${BUILDKITE_PARALLEL_JOB_COUNT} -p ${BUILDKITE_PULL_REQUEST} |
| else |
| ./scripts/ci/run_ci.sh -c -b ${BUILDKITE_BRANCH} -r origin \ |
| -m ${JOB_NUM} -M ${BUILDKITE_PARALLEL_JOB_COUNT}; |
| fi |
| fi |
| |
| TWISTER_EXIT_STATUS=$? |
| |
| cleanup |
| |
| exit ${TWISTER_EXIT_STATUS} |