diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000000000000000000000000000000000000..5f986d1a732abb3f37da87fb472addc8f6fe5dcb --- /dev/null +++ b/.drone.yml @@ -0,0 +1,19 @@ +image: riot/riotbuild:latest + +env: + - NPROC_MAX=8 + +script: + - git config --global user.email "drone@example.com" + - git config --global user.name "Drone CI" + - git remote add riot https://github.com/RIOT-OS/RIOT.git + - git fetch riot master + - git log -1 --pretty=format:%H riot/master + - git branch -f master riot/master + - pwd + - set + - git status + - git branch + - git remote -v + - git branch -avv + - ./dist/tools/drone-scripts/build_and_test.sh riot/master diff --git a/dist/tools/drone-scripts/build_and_test.sh b/dist/tools/drone-scripts/build_and_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..9eba35eabe4d890fbb1d886fab3b8d0a700ec217 --- /dev/null +++ b/dist/tools/drone-scripts/build_and_test.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# Copyright (C) 2015 Eistec AB +# +# This file is subject to the terms and conditions of the GNU Lesser General +# Public License v2.1. See the file LICENSE in the top level directory for more +# details. + +# For now, just ride on the Travis build scripts + +# Drone has not yet implemented Travis' Matrix Build feature, +# see https://github.com/drone/drone/issues/6 +FAILURES=0 +SUMMARY_MESSAGE="Summary of test groups run:\n" + +# Travis compatibility defines +export TRAVIS_PULL_REQUEST="${CI_PULL_REQUEST}" +export TRAVIS_BRANCH="${CI_BRANCH}" +export TRAVIS_BUILD_NUMBER="${CI_BUILD_NUMBER}" +export TRAVIS_COMMIT="${DRONE_COMMIT}" +export TRAVIS_BUILD_DIR="${DRONE_BUILD_DIR}" + +for group in static-tests \ + avr8 \ + msp430 \ + x86 \ + arm7 \ + cortex_m0 \ + cortex_m3_1 \ + cortex_m3_2 \ + cortex_m4 \ + ; +do + echo "Begin group ${group}" + BUILDTEST_MCU_GROUP=${group} ./dist/tools/travis-scripts/build_and_test.sh "$@" + RES=$? + echo "Result (${group}): ${RES}" + if [ ${RES} -ne 0 ]; then + FAILURES=$((${FAILURES} + 1)) + fi + SUMMARY_MESSAGE="${SUMMARY_MESSAGE}${group}: ${RES}\n" +done + +echo -n -e "${SUMMARY_MESSAGE}" + +if [ ${FAILURES} -eq 0 ]; then + echo "Build and test: All successful" +else + echo "Build and test: ${FAILURES} failures in total" +fi + +exit ${FAILURES}