Răsfoiți Sursa

Use qmk docker image for travis CI builds

zvecr 6 ani în urmă
părinte
comite
ba6b3fc1b5
4 a modificat fișierele cu 22 adăugiri și 21 ștergeri
  1. 7 17
      .travis.yml
  2. 1 4
      Dockerfile
  3. 7 0
      util/travis_build.sh
  4. 7 0
      util/travis_test.sh

+ 7 - 17
.travis.yml

@@ -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

+ 1 - 4
Dockerfile

@@ -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

+ 7 - 0
util/travis_build.sh

@@ -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"
 

+ 7 - 0
util/travis_test.sh

@@ -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