Browse Source

drone: added Drone file

Drone is a continuous integration server that can be installed locally.

The included Drone configuration mimics the Travis build scripts except
for the build matrix feature, all targets are built sequentially by the
dist/tools/drone-scripts/build_and_test.sh script instead of in
separate instances.

See: https://github.com/drone/drone
dev/timer
Joakim Gebart 8 years ago
parent
commit
49a12804b3
  1. 19
      .drone.yml
  2. 51
      dist/tools/drone-scripts/build_and_test.sh

19
.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

51
dist/tools/drone-scripts/build_and_test.sh vendored

@ -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}
Loading…
Cancel
Save