Skip to content

Commit 6e77668

Browse files
authored
Merge pull request #44 from dmadison/github-actions
GitHub Actions Migration
2 parents e4f4703 + f90e3fb commit 6e77668

File tree

4 files changed

+103
-81
lines changed

4 files changed

+103
-81
lines changed

.github/workflows/ci.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: build
2+
3+
on: [push, pull_request, workflow_dispatch]
4+
5+
env:
6+
IDE_VERSION: 1.8.13
7+
TEENSY_VERSION: 153
8+
IDE_LOCATION: /usr/local/share/arduino
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
matrix:
16+
board: ['Arduino Leonardo (Serial)', 'Arduino Leonardo (XInput)', 'Teensy LC']
17+
include:
18+
- board: 'Arduino Leonardo (Serial)'
19+
fqbn: arduino:avr:leonardo
20+
- board: 'Arduino Leonardo (XInput)'
21+
fqbn: xinput:avr:leonardo
22+
- board: 'Teensy LC'
23+
fqbn: teensy:avr:teensyLC:usb=xinput,speed=48,opt=osstd,keys=en-us
24+
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v2
28+
29+
- name: Install Arduino IDE
30+
run: |
31+
wget http://downloads.arduino.cc/arduino-$IDE_VERSION-linux64.tar.xz
32+
tar xf arduino-$IDE_VERSION-linux64.tar.xz
33+
sudo mv arduino-$IDE_VERSION /usr/local/share/arduino
34+
sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino
35+
rm arduino-$IDE_VERSION-linux64.tar.xz
36+
37+
- name: Link XInput Library
38+
run: ln --symbolic "$PWD" $IDE_LOCATION/libraries/
39+
40+
- name: Install Teensyduino
41+
if: contains(matrix.board, 'Teensy')
42+
run: |
43+
wget https://www.pjrc.com/teensy/td_$TEENSY_VERSION/TeensyduinoInstall.linux64;
44+
chmod +x ./TeensyduinoInstall.linux64;
45+
sudo ./TeensyduinoInstall.linux64 --dir=/usr/local/share/arduino;
46+
rm ./TeensyduinoInstall.linux64;
47+
48+
- name: Install Boards - XInput AVR
49+
if: contains(matrix.fqbn, 'xinput:avr')
50+
run: |
51+
git clone https://github.com/dmadison/ArduinoXInput_AVR.git;
52+
mkdir -p $IDE_LOCATION/hardware/xinput/avr;
53+
mv ArduinoXInput_AVR/* $IDE_LOCATION/hardware/xinput/avr;
54+
rm -rf ArduinoXInput_AVR;
55+
56+
- name: Install Boards - XInput Teensy
57+
if: contains(matrix.board, 'Teensy')
58+
run: |
59+
git clone https://github.com/dmadison/ArduinoXInput_Teensy.git;
60+
sudo \cp -r ArduinoXInput_Teensy/teensy $IDE_LOCATION/hardware;
61+
rm -rf ArduinoXInput_Teensy;
62+
sudo python ./.github/workflows/remove_teensyloader.py $IDE_LOCATION/hardware/teensy/avr/platform.txt
63+
64+
- name: Install Libraries for Examples
65+
run: arduino --install-library "Nintendo Extension Ctrl:0.8.1"
66+
67+
- name: Build Examples
68+
run: |
69+
buildSketchPath() {
70+
sktch=${1##*/examples/};
71+
sktch=${sktch%/*.ino};
72+
echo -e "\nBuilding sketch $sktch.ino";
73+
arduino --verify --board ${{ matrix.fqbn }} "$1";
74+
}
75+
buildExampleSketch() {
76+
buildSketchPath "$PWD/examples/$1/$1.ino";
77+
}
78+
buildExamples() {
79+
IFS=$'\n'; set -f;
80+
for f in $(find $PWD/examples/ -name '*.ino');
81+
do
82+
buildSketchPath $f;
83+
done;
84+
unset IFS; set +f;
85+
}
86+
buildExamples
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/python
2+
3+
import sys
4+
5+
filepath = sys.argv[1]
6+
lines = []
7+
8+
with open(filepath, 'r') as f:
9+
lines = f.readlines()
10+
11+
with open(filepath, 'w') as f:
12+
for line in lines:
13+
if not line.startswith("recipe.hooks.postbuild.3.pattern=\"{compiler.path}teensy_post_compile\""): # remove post-compile trigger
14+
f.write(line)
15+
else:
16+
print("Removing line '{}'".format(line.strip('\n')))

.travis.yml

Lines changed: 0 additions & 80 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Arduino XInput Library
2-
[![arduino-library-badge](https://www.ardu-badge.com/badge/XInput.svg?)](https://www.ardu-badge.com/XInput) [![Build Status](https://travis-ci.org/dmadison/ArduinoXInput.svg?branch=master)](https://travis-ci.org/dmadison/ArduinoXInput)
2+
[![arduino-library-badge](https://www.ardu-badge.com/badge/XInput.svg?)](https://www.ardu-badge.com/XInput) [![Build Status](https://github.com/dmadison/ArduinoXInput/workflows/build/badge.svg?branch=master)](https://github.com/dmadison/ArduinoXInput/actions?query=workflow%3Abuild)
33

44
This library lets you easily emulate an Xbox 360 controller using a USB-capable Arduino microcontroller.
55

0 commit comments

Comments
 (0)