3bbd1c77ab
Instead of wildcards we now are using environment variables to set the path to Kconfig files for board and architecture. This break documentation generation for Kconfig variables. Using the env variables, we now set the path to what it used to be to restore previous behavior. Also, when something like this happens in the future, we should abort on doc creation failure. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
143 lines
5 KiB
YAML
143 lines
5 KiB
YAML
language: c
|
|
|
|
compiler: gcc
|
|
|
|
env:
|
|
global:
|
|
- SDK=0.9.2
|
|
- SANITYCHECK_OPTIONS=" --inline-logs -R -N"
|
|
- SANITYCHECK_OPTIONS_RETRY="${SANITYCHECK_OPTIONS} --only-failed --outdir=out-2nd-pass"
|
|
- ZEPHYR_SDK_INSTALL_DIR=/opt/sdk/zephyr-sdk-0.9.2
|
|
- ZEPHYR_GCC_VARIANT=zephyr
|
|
- MATRIX_BUILDS="4"
|
|
- MATRIX_BUILDS_EXTRA="4"
|
|
matrix:
|
|
- MATRIX_BUILD="1"
|
|
- MATRIX_BUILD="2"
|
|
- MATRIX_BUILD="3"
|
|
- MATRIX_BUILD="4"
|
|
|
|
build:
|
|
cache: true
|
|
cache_dir_list:
|
|
- ${SHIPPABLE_BUILD_DIR}/ccache
|
|
pre_ci_boot:
|
|
image_name: zephyrprojectrtos/ci
|
|
image_tag: v0.3
|
|
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
|
|
- >
|
|
if [ "$MATRIX_BUILD" = "4" -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
|
|
if [ "$?" != "0" ]; then
|
|
echo "Documentation build failed";
|
|
exit 1;
|
|
fi
|
|
if [ -s doc/doc.warnings ]; then
|
|
echo " => New documentation warnings/errors";
|
|
cp doc/doc.warnings doc.warnings
|
|
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 ${SANITYCHECK_OPTIONS} +modified_boards.args --save-tests test_file.txt;
|
|
fi;
|
|
if [ -s modified_tests.args ]; then
|
|
./scripts/sanitycheck ${SANITYCHECK_OPTIONS} +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 ${SANITYCHECK_OPTIONS} --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 ccache
|
|
- mkdir -p shippable/testresults
|
|
- mkdir -p shippable/codecoverage
|
|
- source zephyr-env.sh
|
|
- >
|
|
if [ "$MATRIX_BUILD" = "1" ]; then
|
|
gcovr -r ${ZEPHYR_BASE} -x > shippable/codecoverage/coverage.xml;
|
|
mv sanity-out/native_posix/ coverage_native_posix/;
|
|
rm -rf sanity-out out-2nd-pass;
|
|
bash <(curl -s https://codecov.io/bash) -f '!*.lst' -X coveragepy -X fixes;
|
|
rm -rf coverage_native_posix/;
|
|
else
|
|
rm -rf sanity-out out-2nd-pass;
|
|
fi;
|
|
- >
|
|
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 ccache
|
|
- mkdir -p shippable/testresults
|
|
- mkdir -p shippable/codecoverage
|
|
- source zephyr-env.sh
|
|
- >
|
|
if [ "$MATRIX_BUILD" = "1" ]; then
|
|
gcovr -r ${ZEPHYR_BASE} -x > shippable/codecoverage/coverage.xml;
|
|
mv sanity-out/native_posix/ coverage_native_posix/;
|
|
rm -rf sanity-out out-2nd-pass;
|
|
bash <(curl -s https://codecov.io/bash) -f '!*.lst' -X coveragepy -X fixes;
|
|
rm -rf coverage_native_posix/;
|
|
else
|
|
rm -rf sanity-out out-2nd-pass;
|
|
fi;
|
|
- >
|
|
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
|