mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
b2f819b5da
It can happen that two PRs don't interfere with each other in the sense that they hurt automatic rebasing, but still do not work together. The prime example is PR1 changes the API of some function that PR2 uses. If PR1 is merged, and PR2 is not rebased before merging, the error might get unnoticed before the next build. Travis CI would have have told both PR1 and PR2 are fine, but will complain (rather unnoticedly) that our master does not compile. This PR automatically rebases the PR on top of the current master, before running the tests. If the automatic rebase fails, then this is fine, because you will need to manually rebase again before merging, anyway. The manual rebase, i.e. new push, will trigger Travis CI. So, the main idea of this PR is that to can hit the "Restart Build" button in Travis CI before hitting the merge button in Github.
39 lines
1.8 KiB
YAML
39 lines
1.8 KiB
YAML
language: c
|
|
|
|
before_install:
|
|
- sudo apt-get install emdebian-archive-keyring
|
|
- echo 'deb http://www.emdebian.org/debian wheezy main' | sudo tee /etc/apt/sources.list.d/emdebian.list > /dev/null
|
|
|
|
- echo 'deb http://us.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse' | sudo tee /etc/apt/sources.list.d/trusty.list > /dev/null
|
|
- echo 'deb http://us.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse' | sudo tee -a /etc/apt/sources.list.d/trusty.list > /dev/null
|
|
- echo 'deb http://us.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse' | sudo tee -a /etc/apt/sources.list.d/trusty.list > /dev/null
|
|
- echo 'deb http://us.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse' | sudo tee -a /etc/apt/sources.list.d/trusty.list > /dev/null
|
|
- sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
|
|
- sudo apt-get update
|
|
|
|
install:
|
|
- sudo apt-get install build-essential
|
|
- sudo apt-get install gcc-multilib
|
|
- sudo apt-get install gcc-arm-none-eabi
|
|
- sudo apt-get install gcc-msp430
|
|
- sudo apt-get install pcregrep libpcre3
|
|
- sudo apt-get install qemu-system-x86 python3
|
|
- sudo apt-get install g++-multilib
|
|
- git config --global user.email "travis@example.com"
|
|
- git config --global user.name "Travis CI"
|
|
|
|
- git remote add riot https://github.com/RIOT-OS/RIOT.git
|
|
- git fetch riot master
|
|
- git log -1 --pretty=format:%H riot/master
|
|
|
|
script:
|
|
- git rebase riot/master || git rebase --abort
|
|
|
|
- ./dist/tools/compile_test/compile_test.py
|
|
- make -C ./tests/unittests test BOARD=native
|
|
- make -C ./tests/unittests test BOARD=qemu-i386
|
|
- ./dist/tools/licenses/check.sh master
|
|
|
|
notifications:
|
|
email: false
|