language: C env: global: - IDE_VERSION=1.8.1 - IDE_LOCATION=/usr/local/share/arduino - BOARDS_DESTINATION=$IDE_LOCATION/hardware matrix: include: - name: "Blank Sketch" env: SKETCH="$IDE_LOCATION/examples/01.Basics/BareMinimum/BareMinimum.ino" - name: "USB API Demo" env: SKETCH="$IDE_LOCATION/libraries/ArduinoXInput/extras/API-Demo/API-Demo.ino" - name: "XInput Library" env: SKETCH="$IDE_LOCATION/libraries/ArduinoXInput/examples/GamepadPins/GamepadPins.ino" before_install: - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16" - sleep 3 - export DISPLAY=:1.0 # Install Arduino IDE - wget http://downloads.arduino.cc/arduino-$IDE_VERSION-linux64.tar.xz - tar xf arduino-$IDE_VERSION-linux64.tar.xz - sudo mv arduino-$IDE_VERSION $IDE_LOCATION - sudo ln -s $IDE_LOCATION/arduino /usr/local/bin/arduino - rm arduino-$IDE_VERSION-linux64.tar.xz # Install XInput Library - if [[ $SKETCH == *"ArduinoXInput"* ]]; then git clone https://github.com/dmadison/ArduinoXInput.git; mv ArduinoXInput $IDE_LOCATION/libraries; fi # Sketch Compiling Functions - CYAN="\033[36m"; NOC="\033[0m"; - buildSketch() { echo -e "\n${CYAN}Building sketch ${SKETCH##*/} for $BOARD${NOC}"; arduino --verify --board $BOARD "$SKETCH"; } install: - mkdir $BOARDS_DESTINATION/xinput - ln -s $PWD $BOARDS_DESTINATION/xinput/avr script: # Arduino Yún w/ XInput - BOARD=xinput:avr:yun; buildSketch; # Arduino Leonardo w/ XInput - BOARD=xinput:avr:leonardo; buildSketch; # Arduino Arduino Leonardo ETH w/ XInput - BOARD=xinput:avr:leonardoeth; buildSketch; # Arduino/Genuino Micro w/ XInput - BOARD=xinput:avr:micro; buildSketch; # Arduino Esplora w/ XInput - BOARD=xinput:avr:esplora; buildSketch; # LilyPad Arduino USB w/ XInput - BOARD=xinput:avr:LilyPadUSB; buildSketch; # Arduino Robot Control w/ XInput - BOARD=xinput:avr:robotControl; buildSketch; # Arduino Arduino Robot Motor w/ XInput - BOARD=xinput:avr:robotMotor; buildSketch; # Adafruit Circuit Playground 32u4 w/Caterina Configuration w/ XInput - BOARD=xinput:avr:circuitplay32u4cat; buildSketch; # Arduino Yún Mini w/ XInput - BOARD=xinput:avr:yunmini; buildSketch; # Arduino Industrial 101 w/ XInput - BOARD=xinput:avr:chiwawa; buildSketch; # Linino One w/ XInput - BOARD=xinput:avr:one; buildSketch; notifications: email: on_success: change on_failure: change