123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- # travis-ci integration for the kiibohd controller firmware
-
- sudo:
- - false
-
- language:
- - c
-
- os:
- - linux
- - osx
-
- compiler:
- - clang
- - gcc
-
- addons:
- apt:
- sources:
- - debian-sid
- packages:
- - binutils-arm-none-eabi
- - gcc-arm-none-eabi
- - exuberant-ctags
- #- libc6-dev-i386 # Needed for clang!?
- - libnewlib-arm-none-eabi
- - tree
-
- # Build Scripts
- env:
- # Input Club Keyboard Tests
- - DIR=Keyboards SCRIPT=infinity.bash
- - DIR=Keyboards SCRIPT=infinity_led.bash
- - DIR=Keyboards SCRIPT=ergodox.bash
- - DIR=Keyboards SCRIPT=whitefox.bash
-
- # Debug Build Tests
- - DIR=Keyboards/Testing SCRIPT=uartout.bash
- - DIR=Keyboards/Testing SCRIPT=usbmuxuart.bash
-
- # Bootloader Build Tests
- - DIR=Bootloader/Builds SCRIPT=mk20dx128vlf5.bash
- - DIR=Bootloader/Builds SCRIPT=mk20dx256vlh7.bash
-
- # Exclusions
- matrix:
- # TODO - Still some travis clang issues
- allow_failures:
- - compiler: clang
-
- exclude:
- # Bootloader doesn't support clang yet
- - compiler: clang
- env: DIR=Bootloader/Builds SCRIPT=mk20dx128vlf5.bash
- - compiler: clang
- env: DIR=Bootloader/Builds SCRIPT=mk20dx256vlh7.bash
- # xcode *and* brew don't support clang ARMCCompiler for arm-none-eabi, sigh useless Apple
- # Disabling Linux clang builds until Travis has less crappy repos available
- - compiler: clang
- env: DIR=Keyboards SCRIPT=infinity.bash
- - compiler: clang
- env: DIR=Keyboards SCRIPT=infinity_led.bash
- - compiler: clang
- env: DIR=Keyboards SCRIPT=ergodox.bash
- - compiler: clang
- env: DIR=Keyboards SCRIPT=whitefox.bash
- - compiler: clang
- env: DIR=Keyboards/Testing SCRIPT=uartout.bash
- - compiler: clang
- env: DIR=Keyboards/Testing SCRIPT=usbmuxuart.bash
- - compiler: clang
- env: DIR=Bootloader/Builds SCRIPT=mk20dx128vlf5.bash
- - compiler: clang
- env: DIR=Bootloader/Builds SCRIPT=mk20dx256vlh7.bash
-
- # Package Setup
- before_install:
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git python3 ctags dfu-util tree; fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew tap Caskroom/cask; fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install Caskroom/cask/gcc-arm-embedded; fi
- # This may work, but we'd have to compile llvm...
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "clang" ]]; then brew tap homebrew/versions; fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "clang" ]]; then brew install homebrew/versions/llvm38 --with-all-targets --with-asan --with-lld --HEAD; fi
-
- # System setup
- install:
- # Info about OS
- - uname -a
-
- # Pre-clone kll.git to speed-up build
- - git clone https://github.com/kiibohd/kll.git
-
- # Directory tree to validate kll.git
- - tree
-
- # Compiler Version
- - ${CC} --version
-
- # Python Version
- - python --version
- - python3 --version
-
- # CMake Version
- - cmake --version
-
- # Run test script(s)
- script:
- - (cd ${DIR} && COMPILER=${CC} ./${SCRIPT})
-
- # Post test script commands
- after_script:
- - tree
|