diff --git a/.drone.yml b/.drone.yml
index 917bb5843c19b9b821bb31be9211791e7fbe9c0d..ba045c7e4b6325effc61b1f246553fd0fa2cc79d 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -9,7 +9,7 @@ pipeline:
             - printenv
             - git status
             - git remote -v
-            - ./dist/tools/travis-scripts/build_and_test.sh
+            - ./dist/tools/ci/build_and_test.sh
 matrix:
     BUILDTEST_MCU_GROUP:
         - static-tests
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index ba8ae4f2e5512a11078ddb11f5fdc2cef1797e14..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-sudo: required
-dist: trusty
-
-language: generic
-
-cache: apt
-
-env:
-    global:
-        - NPROC_MAX=8
-    matrix:
-        - BUILDTEST_MCU_GROUP=static-tests
-        - BUILDTEST_MCU_GROUP=cortex_m4_3
-        - BUILDTEST_MCU_GROUP=cortex_m4_2
-        - BUILDTEST_MCU_GROUP=cortex_m4_1
-        - BUILDTEST_MCU_GROUP=cortex_m0_2
-        - BUILDTEST_MCU_GROUP=cortex_m0_1
-        - BUILDTEST_MCU_GROUP=x86
-        - BUILDTEST_MCU_GROUP=cortex_m3_2
-        - BUILDTEST_MCU_GROUP=cortex_m3_1
-        - BUILDTEST_MCU_GROUP=avr8
-        - BUILDTEST_MCU_GROUP=msp430
-        - BUILDTEST_MCU_GROUP=arm7
-        - BUILDTEST_MCU_GROUP=host
-
-before_install:
-    - source ./dist/tools/pr_check/check_labels.sh
-    - test -z "$TRAVIS_PULL_REQUEST" || test "$BUILDTEST_MCU_GROUP" = "static-tests" || check_gh_label "Ready for CI build" || exit 1
-    - sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
-    - sudo apt-get update -qq
-
-install:
-    - sudo apt-get -y install $(./dist/tools/travis-scripts/get-pkg-list.py)
-    - sudo pip install pexpect  # current version in Ubuntu repos is errorneous
-    - git config --global user.email "travis@example.com"
-    - git config --global user.name "Travis CI"
-    - test "$TRAVIS_BRANCH" = "master" || git fetch origin $TRAVIS_BRANCH:$TRAVIS_BRANCH
-
-script:
-    - ./dist/tools/travis-scripts/build_and_test.sh
-
-notifications:
-    email: false
diff --git a/dist/tools/travis-scripts/build_and_test.sh b/dist/tools/ci/build_and_test.sh
similarity index 76%
rename from dist/tools/travis-scripts/build_and_test.sh
rename to dist/tools/ci/build_and_test.sh
index d786175662626efae2aa996b68288bc2cc7e90b7..0248fce257184c165370e7c0c6d201d0ed413cc6 100755
--- a/dist/tools/travis-scripts/build_and_test.sh
+++ b/dist/tools/ci/build_and_test.sh
@@ -56,21 +56,6 @@ then
         RESULT=0
         RECALL="$1"
 
-        if git diff ${CI_BASE_BRANCH} HEAD -- .travis.yml &> /dev/null; then
-            # check if .travis.yml was changed in the current PR and skip if so
-            if ! git diff --name-only $(git merge-base HEAD ${CI_BASE_BRANCH})..HEAD -- \
-                .travis.yml &> 1; then
-                echo "==============================================================" >&2
-                echo -e "\033[1;31m.travis.yml differs in upstream.\033[0m"
-                echo -e "\033[1;31mPlease rebase your PR to current upstream or expect errors!!!!\033[0m" >&2
-                echo "    git fetch https://github.com/RIOT-OS/RIOT ${CI_BASE_BRANCH}" >&2
-                echo "    git rebase FETCH_HEAD" >&2
-                echo "    git push -f origin $(git rev-parse --abbrev-ref HEAD)" >&2
-                echo "==============================================================" >&2
-                return 1
-            fi
-        fi
-
         if [ "$RECALL" != "recall" ]; then
             if git diff ${CI_BASE_BRANCH} HEAD -- "$0" &> /dev/null; then
                 git rebase ${CI_BASE_BRANCH} || git rebase --abort
@@ -124,7 +109,7 @@ then
         #   - make -C ./tests/unittests all test BOARD=qemu-i386 || exit
     fi
 
-    BASE_BRANCH="${TRAVIS_BRANCH:-${CI_BASE_BRANCH}}"
+    BASE_BRANCH="${CI_BASE_BRANCH}"
     ./dist/tools/compile_test/compile_test.py $BASE_BRANCH
     set_result $?
 fi
diff --git a/dist/tools/travis-scripts/get-pkg-list.py b/dist/tools/travis-scripts/get-pkg-list.py
deleted file mode 100755
index 9677b9ce4002092dd700d0b8d41755683beccff7..0000000000000000000000000000000000000000
--- a/dist/tools/travis-scripts/get-pkg-list.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# Copyright (C) 2015  Philipp Rosenkranz <philipp.rosenkranz@fu-berlin.de>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 USA
-
-import os
-
-arm_mcu_groups = ["arm7", "cortex_m0_2", "cortex_m0_1", "cortex_m3_1",
-                  "cortex_m3_2", "cortex_m4_1", "cortex_m4_2", "cortex_m4_3"]
-msp_mcu_groups = ["msp430"]
-x86_mcu_groups = ["x86"]
-avr8_mcu_groups = ["avr8"]
-static_tests_groups = ["static-tests"]
-known_mcu_groups = arm_mcu_groups + msp_mcu_groups + x86_mcu_groups + \
-    avr8_mcu_groups + static_tests_groups
-
-common_pkgs = ["pcregrep", "libpcre3", "python3", "python3-pexpect"]
-
-# testing the relic pkg and its RIOT specific unit test requires cmake
-common_pkgs = common_pkgs + ["cmake"]
-
-arm_pkgs = ["gcc-arm-none-eabi"]
-msp_pkgs = ["gcc-msp430"]
-x86_pkgs = ["qemu-system-x86", "g++-multilib", "gcc-multilib",
-            "build-essential","python-pip", "gdb"]
-avr8_pkgs = ["gcc-avr", "binutils-avr", "avr-libc"]
-static_tests_pkgs = ["doxygen", "cppcheck"]
-all_mcu_pkgs = arm_pkgs + msp_pkgs + \
-    x86_pkgs + avr8_pkgs + static_tests_pkgs
-
-
-pkgs_to_install = common_pkgs
-if "BUILDTEST_MCU_GROUP" in os.environ:
-    mcu_group = os.environ["BUILDTEST_MCU_GROUP"]
-    if mcu_group not in known_mcu_groups:
-        pkgs_to_install += all_mcu_pkgs
-    elif mcu_group in arm_mcu_groups:
-        pkgs_to_install += arm_pkgs
-    elif mcu_group in msp_mcu_groups:
-        pkgs_to_install += msp_pkgs
-    elif mcu_group in x86_mcu_groups:
-        pkgs_to_install += x86_pkgs
-    elif mcu_group in avr8_mcu_groups:
-        pkgs_to_install += avr8_pkgs
-    elif mcu_group in static_tests_groups:
-        pkgs_to_install += static_tests_pkgs
-else:
-    pkgs_to_install += all_mcu_pkgs
-
-print " ".join(pkgs_to_install)