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="2" matrix: - MATRIX_BUILD="1" - MATRIX_BUILD="2" build: cache: true cache_dir_list: - ${SHIPPABLE_BUILD_DIR}/ccache pre_ci_boot: image_name: zephyrprojectrtos/ci image_tag: master.16 pull: true options: "-e HOME=/home/buildslave --privileged=true --tty --net=bridge --user buildslave" ci: - export CCACHE_DIR=${SHIPPABLE_BUILD_DIR}/ccache/.ccache - source zephyr-env.sh - ccache -c -s --max-size=2000M - make host-tools - export PREBUILT_HOST_TOOLS=${ZEPHYR_BASE}/bin - > if [ "$IS_PULL_REQUEST" = "true" ]; then S3_PATH="s3://zephyr-logs/pull-requests/${REPO_FULL_NAME}/${PULL_REQUEST}" else if [ "$JOB_TRIGGERED_BY_NAME" = "undefined" ]; then LOG_TYPE="manual"; else LOG_TYPE=${JOB_TRIGGERED_BY_NAME}; fi; S3_PATH="s3://zephyr-logs/${LOG_TYPE}/${REPO_FULL_NAME}/${BUILD_NUMBER}"; fi; - > if [ "$MATRIX_BUILD" = "1" -a "$IS_PULL_REQUEST" = "true" ]; then export COMMIT_RANGE=origin/${PULL_REQUEST_BASE_BRANCH}..${COMMIT} echo "Building a Pull Request"; echo "- Building Documentation"; echo "Commit range:" ${COMMIT_RANGE} sudo pip install sphinx==1.5.5 make htmldocs > doc.log 2>&1; ./scripts/filter-known-issues.py --config-dir .known-issues/doc/ doc.log > doc.warnings; if [ -s doc.warnings ]; then echo " => New documentation warnings/errors"; fi; echo "- Verify commit message and coding style"; ./scripts/ci/check-compliance.py || true; fi; - > if [ "$JOB_TRIGGERED_BY_NAME" = "daily-verify" ]; then echo "- Building with --all --enable-slow"; COVERAGE="--all --enable-slow"; fi; - > ./scripts/sanitycheck ${PLATFORMS} --subset ${MATRIX_BUILD}/${MATRIX_BUILDS} ${COVERAGE} ${SANITYCHECK_OPTIONS} || ./scripts/sanitycheck ${PLATFORMS} --subset ${MATRIX_BUILD}/${MATRIX_BUILDS} ${COVERAGE} ${SANITYCHECK_OPTIONS_RETRY}; - ccache -s on_success: - rm -rf sanity-out out-2nd-pass - mkdir -p shippable/testresults - > if [ -e compliance.xml ]; then cp compliance.xml shippable/testresults/; aws s3 cp compliance.xml ${S3_PATH}/; fi; - > if [ -e ./scripts/sanity_chk/last_sanity.xml ]; then cp ./scripts/sanity_chk/last_sanity.xml shippable/testresults/; aws s3 cp ./scripts/sanity_chk/last_sanity.xml ${S3_PATH}/sanitycheck.xml; fi; on_failure: - rm -rf sanity-out out-2nd-pass - mkdir -p shippable/testresults - > if [ -e compliance.xml ]; then cp compliance.xml shippable/testresults/; aws s3 cp compliance.xml ${S3_PATH}/; fi; - > if [ -e ./scripts/sanity_chk/last_sanity.xml ]; then cp ./scripts/sanity_chk/last_sanity.xml shippable/testresults/; aws s3 cp ./scripts/sanity_chk/last_sanity.xml ${S3_PATH}/sanitycheck.xml; 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