2016-08-31 08:09:44 +00:00
# appveyor file for kiibohd/controller
# Used to test out the Cygwin builds
2016-09-01 16:57:40 +00:00
# System Build Architecture
2016-08-31 08:09:44 +00:00
platform :
- x64
2016-09-01 16:57:40 +00:00
# Dependency Cache
cache :
# Cache gcc arm compiler (it's pruned to be under 100 MB)
# Invalidate whenever this file is changed
- c:/gcc-arm-none-eabi.zip -> appveyor.yml
# Build Matrix + Environment Variables
# NOTE: Only building using 32-bit on a 64-bit system. 64-bit Cygwin should also work fine (no reason to test atm)
2016-08-31 08:09:44 +00:00
environment :
global :
CYG_MIRROR : http://cygwin.uib.no
CYG_CACHE : C:/cygwin/var/cache/setup
CYG_ARCH : x86
CYG_ROOT : C:/cygwin
WIN_CMAKE : "/cygdrive/c/Program Files (x86)/CMake/bin"
2016-09-01 16:57:40 +00:00
ARM_COMPILER_URL : https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q2-update/+download/gcc-arm-none-eabi-5_4-2016q2-20160622-win32.zip
2016-08-31 08:09:44 +00:00
matrix :
# Input Club Keyboard Tests
- SCRIPT_DIR : Keyboards
SCRIPT : infinity.bash
- SCRIPT_DIR : Keyboards
SCRIPT : infinity_led.bash
- SCRIPT_DIR : Keyboards
SCRIPT : ergodox.bash
- SCRIPT_DIR : Keyboards
SCRIPT : whitefox.bash
# Debug Build Tests
- SCRIPT_DIR : Keyboards/Testing
SCRIPT : uartout.bash
- SCRIPT_DIR : Keyboards/Testing
SCRIPT : usbmuxuart.bash
# Bootloader Build Tests
- SCRIPT_DIR : Bootloader/Builds
SCRIPT : mk20dx128vlf5.bash
- SCRIPT_DIR : Bootloader/Builds
SCRIPT : mk20dx256vlh7.bash
2016-09-01 16:57:40 +00:00
# Commands run before cloning git repo
2016-08-31 08:09:44 +00:00
init :
- git config --global core.autocrlf input
2016-09-01 16:57:40 +00:00
# Setup Build Instance
2016-08-31 08:09:44 +00:00
install :
- 'appveyor DownloadFile http://cygwin.com/setup-%CYG_ARCH%.exe -FileName setup.exe'
- 'setup.exe -qnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P git -P make -P python3 -P ctags -P tree -P p7zip'
- '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && which cmake"'
2016-09-01 16:57:40 +00:00
- '%CYG_ROOT%/bin/bash -lc "ls -l /cygdrive/c"'
# Only download if cache is missing
- if not exist c:/gcc-arm-none-eabi.zip appveyor DownloadFile %ARM_COMPILER_URL% -FileName c:/gcc-arm-none-eabi.zip
# Always try to strip out the unnecessary binaries
# Necessary, so we can fit gcc-arm-none-eabi.zip into the dependency cache
# For ARM Cortex-M4 we only need armv7e-m (also supports Cortex-M7)
# https://en.wikipedia.org/wiki/ARM_architecture#Cores
- 7z d c:/gcc-arm-none-eabi.zip "armv6*" -r
- 7z d c:/gcc-arm-none-eabi.zip "armv7-m*" -r
- 7z d c:/gcc-arm-none-eabi.zip "armv7-ar*" -r
- 7z d c:/gcc-arm-none-eabi.zip "armv8*" -r
- 7z d c:/gcc-arm-none-eabi.zip "*.html" -r
2016-08-31 08:09:44 +00:00
- dir
- cmake --version
2016-09-01 16:57:40 +00:00
# Build Commands
2016-08-31 08:09:44 +00:00
build_script :
2016-09-01 16:57:40 +00:00
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && du -sh /cygdrive/c/gcc-arm-none-eabi.zip"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && 7z x -o/ /cygdrive/c/gcc-arm-none-eabi.zip"'
2016-08-31 08:09:44 +00:00
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && pwd"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && tree"'
2016-10-11 05:31:53 +00:00
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && which cmake"'
2016-08-31 08:09:44 +00:00
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && cmake --version"'
2016-10-11 05:31:53 +00:00
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && export PATH=\"${wincmake_path}\":$PATH && which cmake"'
2016-08-31 08:09:44 +00:00
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && export PATH=\"${wincmake_path}\":$PATH && cmake --version"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && git --version"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && python3 --version"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && arm-none-eabi-gcc --version"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\"/%SCRIPT_DIR% && export wincmake_path=\"%WIN_CMAKE%\" && COMPILER=gcc ./%SCRIPT%"'