~ruther/qmk_firmware

ba6b3fc1b55df7bb3e34721d2622837b394862a5 — zvecr 6 years ago 6693d16
Use qmk docker image for travis CI builds
4 files changed, 22 insertions(+), 21 deletions(-)

M .travis.yml
M Dockerfile
M util/travis_build.sh
M util/travis_test.sh
M .travis.yml => .travis.yml +7 -17
@@ 11,31 11,21 @@ env:
  global:
  - secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
  - MAKEFLAGS="-j3 --output-sync"
services:
  - docker
before_install:
  - wget http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz || wget http://qmk.fm/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz
  # Need DFU > .5 for dfu-suffix
  - sudo add-apt-repository --yes ppa:tormodvolden/ppa
  - sudo apt-get update -qq
  - docker build -t qmkfm/qmk_firmware .
install:
  - tar -zxf avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz
  - export PATH="$PATH:$TRAVIS_BUILD_DIR/avr8-gnu-toolchain-linux_x86_64/bin"
  - npm install -g moxygen
  - sudo apt-get -y --force-yes install dfu-util
before_script:
  - avr-gcc --version
script:
- git rev-parse --short HEAD
- bash util/travis_test.sh
- bash util/travis_build.sh
- bash util/travis_docs.sh
  - git rev-parse --short HEAD
  - bash util/travis_test.sh
  - bash util/travis_build.sh
  - bash util/travis_docs.sh
addons:
  apt:
    packages:
    - dfu-programmer
    - pandoc
    - gcc-arm-none-eabi
    - binutils-arm-none-eabi
    - libnewlib-arm-none-eabi
    - diffutils
    - dos2unix
    - doxygen

M Dockerfile => Dockerfile +1 -4
@@ 19,11 19,8 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
    zip \
    && rm -rf /var/lib/apt/lists/*

ENV KEYBOARD=ergodox_ez
ENV KEYMAP=default

VOLUME /qmk_firmware
WORKDIR /qmk_firmware
COPY . .

CMD make $KEYBOARD:$KEYMAP
CMD make all:default

M util/travis_build.sh => util/travis_build.sh +7 -0
@@ 1,5 1,12 @@
#!/bin/bash

# if docker is installed - call make within the qmk docker image
if command -v docker >/dev/null; then
  function make() {
    docker run --rm -e MAKEFLAGS="$MAKEFLAGS" -w /qmk_firmware/ -v "$PWD":/qmk_firmware qmkfm/qmk_firmware make "$@"
  }
fi

# test force push
#TRAVIS_COMMIT_RANGE="c287f1bfc5c8...81f62atc4c1d"


M util/travis_test.sh => util/travis_test.sh +7 -0
@@ 19,4 19,11 @@ if [ "$BRANCH" != "master" ] && [ "$NUM_IMPACTING_CHANGES" == "0" ]; then
    exit 0
fi

# if docker is installed - call make within the qmk docker image
if command -v docker >/dev/null; then
  function make() {
    docker run --rm -e MAKEFLAGS="$MAKEFLAGS" -w /qmk_firmware/ -v "$PWD":/qmk_firmware qmkfm/qmk_firmware make "$@"
  }
fi

make test:all