b127aff796
When we merge something, verify that the build succeeds. This is to make sure we did not have conflicting commits that pass individually but fail when merged on top of each other. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
116 lines
3.9 KiB
YAML
116 lines
3.9 KiB
YAML
language: c
|
|
|
|
compiler: gcc
|
|
|
|
env:
|
|
global:
|
|
- SDK=0.9.1
|
|
- SANITYCHECK_OPTIONS=" --inline-logs -R"
|
|
- SANITYCHECK_OPTIONS_RETRY="${SANITYCHECK_OPTIONS} --only-failed --outdir=out-2nd-pass"
|
|
- ZEPHYR_SDK_INSTALL_DIR=/opt/sdk/zephyr-sdk-0.9.1
|
|
- ZEPHYR_GCC_VARIANT=zephyr
|
|
- USE_CCACHE=1
|
|
- MATRIX_BUILDS="3"
|
|
- MATRIX_BUILDS_EXTRA="3"
|
|
matrix:
|
|
- MATRIX_BUILD="1"
|
|
- MATRIX_BUILD="2"
|
|
- MATRIX_BUILD="3"
|
|
|
|
build:
|
|
cache: true
|
|
cache_dir_list:
|
|
- ${SHIPPABLE_BUILD_DIR}/ccache
|
|
pre_ci_boot:
|
|
image_name: zephyrprojectrtos/ci
|
|
image_tag: v0.1
|
|
pull: true
|
|
options: "-e HOME=/home/buildslave --privileged=true --tty --net=bridge --user buildslave"
|
|
|
|
ci:
|
|
- export CCACHE_DIR=${SHIPPABLE_BUILD_DIR}/ccache/.ccache
|
|
- >
|
|
if [ "$IS_PULL_REQUEST" = "true" ]; then
|
|
git rebase origin/${PULL_REQUEST_BASE_BRANCH};
|
|
fi
|
|
- source zephyr-env.sh
|
|
- ccache -c -s --max-size=2000M
|
|
- make host-tools
|
|
- export PREBUILT_HOST_TOOLS=${ZEPHYR_BASE}/bin
|
|
- >
|
|
if [ "$MATRIX_BUILD" = "3" -a "$IS_PULL_REQUEST" = "true" ]; then
|
|
export COMMIT_RANGE=origin/${PULL_REQUEST_BASE_BRANCH}..HEAD
|
|
echo "Building a Pull Request";
|
|
echo "- Building Documentation";
|
|
echo "Commit range:" ${COMMIT_RANGE}
|
|
make htmldocs > doc.warnings 2>&1;
|
|
if [ -s doc.warnings ]; then
|
|
echo " => New documentation warnings/errors";
|
|
fi;
|
|
echo "- Verify commit message, coding style, doc build";
|
|
./scripts/ci/check-compliance.py --commits ${COMMIT_RANGE} || true;
|
|
fi;
|
|
- >
|
|
if [ "$IS_PULL_REQUEST" = "true" ]; then
|
|
./scripts/ci/get_modified_tests.py --commits origin/${PULL_REQUEST_BASE_BRANCH}..HEAD > modified_tests.args;
|
|
./scripts/ci/get_modified_boards.py --commits origin/${PULL_REQUEST_BASE_BRANCH}..HEAD > modified_boards.args;
|
|
|
|
if [ -s modified_boards.args ]; then
|
|
./scripts/sanitycheck +modified_boards.args --save-tests test_file.txt;
|
|
fi;
|
|
if [ -s modified_tests.args ]; then
|
|
./scripts/sanitycheck +modified_tests.args --save-tests test_file.txt;
|
|
fi;
|
|
rm -f modified_tests.args modified_boards.args;
|
|
fi;
|
|
- ./scripts/sanitycheck ${SANITYCHECK_OPTIONS} --save-tests test_file.txt
|
|
- ./scripts/sanitycheck --load-tests test_file.txt --subset ${MATRIX_BUILD}/${MATRIX_BUILDS} || ./scripts/sanitycheck ${SANITYCHECK_OPTIONS_RETRY} || ./scripts/sanitycheck ${SANITYCHECK_OPTIONS_RETRY}
|
|
- rm test_file.txt
|
|
- ccache -s
|
|
on_failure:
|
|
- rm -rf sanity-out out-2nd-pass
|
|
- mkdir -p shippable/testresults
|
|
- >
|
|
if [ -e compliance.xml ]; then
|
|
cp compliance.xml shippable/testresults/;
|
|
fi;
|
|
- >
|
|
if [ -e ./scripts/sanity_chk/last_sanity.xml ]; then
|
|
cp ./scripts/sanity_chk/last_sanity.xml shippable/testresults/;
|
|
fi;
|
|
on_success:
|
|
- rm -rf sanity-out out-2nd-pass
|
|
- mkdir -p shippable/testresults
|
|
- >
|
|
if [ -e compliance.xml ]; then
|
|
cp compliance.xml shippable/testresults/;
|
|
fi;
|
|
- >
|
|
if [ -e ./scripts/sanity_chk/last_sanity.xml ]; then
|
|
cp ./scripts/sanity_chk/last_sanity.xml shippable/testresults/;
|
|
fi;
|
|
|
|
integrations:
|
|
notifications:
|
|
- integrationName: slack_integration
|
|
type: slack
|
|
recipients:
|
|
- "#ci"
|
|
branches:
|
|
only:
|
|
- master
|
|
on_success: never
|
|
on_failure: always
|
|
- integrationName: email
|
|
type: email
|
|
recipients:
|
|
- builds@zephyrproject.org
|
|
branches:
|
|
only:
|
|
- master
|
|
- net
|
|
- bluetooth
|
|
- arm
|
|
on_success: never
|
|
on_failure: never
|