diff options
-rw-r--r-- | .github/workflows/ci.yml | 65 | ||||
-rw-r--r-- | .travis.yml | 86 | ||||
-rw-r--r-- | README.md | 2 |
3 files changed, 66 insertions, 87 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..a5f6455 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,65 @@ +name: build + +on: [push, pull_request, workflow_dispatch] + +env: + IDE_VERSION: 1.8.13 + IDE_LOCATION: /usr/local/share/arduino + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + compilation: ['Blank Sketch', 'USB API Demo', 'XInput Library'] + include: + - compilation: 'Blank Sketch' + sketch: "$IDE_LOCATION/examples/01.Basics/BareMinimum/BareMinimum.ino" + - compilation: 'USB API Demo' + sketch: "$IDE_LOCATION/libraries/ArduinoXInput/extras/API-Demo/API-Demo.ino" + - compilation: 'XInput Library' + sketch: "$IDE_LOCATION/libraries/ArduinoXInput/examples/GamepadPins/GamepadPins.ino" + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Arduino IDE + run: | + wget http://downloads.arduino.cc/arduino-$IDE_VERSION-linux64.tar.xz + tar xf arduino-$IDE_VERSION-linux64.tar.xz + sudo mv arduino-$IDE_VERSION /usr/local/share/arduino + sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino + rm arduino-$IDE_VERSION-linux64.tar.xz + + - name: Move XInput AVR Boards Files + run: | + mkdir $IDE_LOCATION/hardware/xinput + ln -s $PWD $IDE_LOCATION/hardware/xinput/avr + + - name: Install XInput Library + if: contains(matrix.sketch, 'ArduinoXInput') + run: | + git clone https://github.com/dmadison/ArduinoXInput.git; + sudo mv ArduinoXInput $IDE_LOCATION/libraries; + + - name: Build All Boards + run: | + buildSketch() { + echo -e "\nBuilding sketch ${{ matrix.sketch }} for $BOARD"; + arduino --verify --board $BOARD ${{ matrix.sketch }}; + } + + BOARD=xinput:avr:yun; buildSketch; + BOARD=xinput:avr:leonardo; buildSketch; + BOARD=xinput:avr:leonardoeth; buildSketch; + BOARD=xinput:avr:micro; buildSketch; + BOARD=xinput:avr:esplora; buildSketch; + BOARD=xinput:avr:LilyPadUSB; buildSketch + BOARD=xinput:avr:robotControl; buildSketch; + BOARD=xinput:avr:robotMotor; buildSketch; + BOARD=xinput:avr:circuitplay32u4cat; buildSketch; + BOARD=xinput:avr:yunmini; buildSketch; + BOARD=xinput:avr:chiwawa; buildSketch; + BOARD=xinput:avr:one; buildSketch; diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d319201..0000000 --- a/.travis.yml +++ /dev/null @@ -1,86 +0,0 @@ -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 @@ -1,4 +1,4 @@ -# XInput USB Core for Arduino AVR [![Build Status](https://travis-ci.org/dmadison/ArduinoXInput_AVR.svg?branch=master)](https://travis-ci.org/dmadison/ArduinoXInput_AVR) +# XInput USB Core for Arduino AVR [![Build Status](https://github.com/dmadison/ArduinoXInput_AVR/workflows/build/badge.svg?branch=master)](https://github.com/dmadison/ArduinoXInput_AVR/actions?query=workflow%3Abuild) The files in this repository allow you to emulate an Xbox gamepad (XInput) using a USB-capable Arduino microcontroller. Originally forked from [the official Arduino AVR core](https://github.com/arduino/ArduinoCore-avr). |