aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/dependabot.yml10
-rw-r--r--.github/workflows/check-arduino.yml27
-rw-r--r--.github/workflows/ci.yml65
-rw-r--r--.github/workflows/compile-platform-examples.yml209
-rw-r--r--.github/workflows/report-size-deltas.yml24
-rw-r--r--.github/workflows/spell-check.yml22
6 files changed, 65 insertions, 292 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 03600dd..0000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-# See: https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#about-the-dependabotyml-file
-version: 2
-
-updates:
- # Configure check for outdated GitHub Actions actions in workflows.
- # See: https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
- - package-ecosystem: github-actions
- directory: / # Check the repository's workflows under /.github/workflows/
- schedule:
- interval: daily
diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml
deleted file mode 100644
index cfffb75..0000000
--- a/.github/workflows/check-arduino.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-name: Check Arduino
-
-# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
-on:
- push:
- pull_request:
- schedule:
- # Run every Tuesday at 8 AM UTC to catch breakage caused by new rules added to Arduino Lint.
- - cron: "0 8 * * TUE"
- workflow_dispatch:
- repository_dispatch:
-
-jobs:
- lint:
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- - name: Arduino Lint
- uses: arduino/arduino-lint-action@v1
- with:
- compliance: specification
- # Always use this setting for official repositories. Remove for 3rd party projects.
- official: true
- project-type: platform
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..9707eca
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,65 @@
+name: build
+
+on: [push, pull_request, workflow_dispatch]
+
+env:
+ IDE_VERSION: 1.8.19
+ 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/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml
deleted file mode 100644
index f7226e0..0000000
--- a/.github/workflows/compile-platform-examples.yml
+++ /dev/null
@@ -1,209 +0,0 @@
-name: Compile Examples
-
-# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
-on:
- push:
- paths:
- - ".github/workflows/compile-platform-examples.ya?ml"
- - "cores/**"
- - "libraries/**"
- - "variants/**"
- - "boards.txt"
- - "platform.txt"
- pull_request:
- paths:
- - ".github/workflows/compile-platform-examples.ya?ml"
- - "cores/**"
- - "libraries/**"
- - "variants/**"
- - "boards.txt"
- - "platform.txt"
- workflow_dispatch:
- repository_dispatch:
-
-jobs:
- build:
- name: ${{ matrix.board.fqbn }}
- runs-on: ubuntu-latest
-
- env:
- SKETCHES_REPORTS_PATH: sketches-reports
-
- strategy:
- fail-fast: false
-
- matrix:
- board:
- - fqbn: arduino:avr:yun
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:uno
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:diecimila:cpu=atmega328
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:diecimila:cpu=atmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:nano:cpu=atmega328
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:nano:cpu=atmega328old
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:nano:cpu=atmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:mega:cpu=atmega2560
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:mega:cpu=atmega1280
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:megaADK
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:leonardo
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:leonardoeth
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:micro
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:esplora
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:mini:cpu=atmega328
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:mini:cpu=atmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:ethernet
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:fio
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:bt:cpu=atmega328
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:bt:cpu=atmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:LilyPadUSB
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:lilypad:cpu=atmega328
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:lilypad:cpu=atmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:pro:cpu=16MHzatmega328
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:pro:cpu=8MHzatmega328
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:pro:cpu=16MHzatmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:pro:cpu=8MHzatmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:atmegang:cpu=atmega168
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:atmegang:cpu=atmega8
- serial: true
- softwareserial: false
- - fqbn: arduino:avr:robotControl
- serial: true
- softwareserial: false
- - fqbn: arduino:avr:robotMotor
- serial: true
- softwareserial: false
- - fqbn: arduino:avr:gemma
- serial: false
- softwareserial: false
- - fqbn: arduino:avr:circuitplay32u4cat
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:yunmini
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:chiwawa
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:one
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:unowifi
- serial: true
- softwareserial: true
- - fqbn: arduino:avr:unomini
- serial: true
- softwareserial: true
-
- # Make board type-specific customizations to the matrix jobs
- include:
- - board:
- # Boards with Serial interface
- serial: true
- # Compile these sketches in addition to the ones compiled for all boards
- serial-sketch-paths: |
- - libraries/EEPROM/examples/eeprom_crc
- - libraries/EEPROM/examples/eeprom_get
- - libraries/EEPROM/examples/eeprom_put
- - libraries/EEPROM/examples/eeprom_read
- - libraries/SPI
- - libraries/Wire
- - board:
- serial: false
- serial-sketch-paths: ""
- - board:
- # Boards compatible with the SoftwareSerial library
- softwareserial: true
- softwareserial-sketch-paths: |
- - libraries/SoftwareSerial
- - board:
- softwareserial: false
- softwareserial-sketch-paths: ""
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- - name: Compile examples
- uses: arduino/compile-sketches@v1
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- fqbn: ${{ matrix.board.fqbn }}
- platforms: |
- # Use Boards Manager to install the latest release of the platform to get the toolchain.
- - name: arduino:avr
- # Overwrite the Boards Manager installation with the platform from the repository.
- - source-path: ./
- name: arduino:avr
- sketch-paths: |
- # Compile these sketches for all boards
- - libraries/EEPROM/examples/eeprom_clear
- - libraries/EEPROM/examples/eeprom_iteration
- - libraries/EEPROM/examples/eeprom_update
- - libraries/EEPROM/examples/eeprom_write
- # Board-specific sketches
- ${{ matrix.serial-sketch-paths }}
- ${{ matrix.softwareserial-sketch-paths }}
- enable-deltas-report: true
- sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
-
- - name: Save sketches report as workflow artifact
- uses: actions/upload-artifact@v2
- with:
- if-no-files-found: error
- path: ${{ env.SKETCHES_REPORTS_PATH }}
- name: ${{ env.SKETCHES_REPORTS_PATH }}
diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml
deleted file mode 100644
index 652be5d..0000000
--- a/.github/workflows/report-size-deltas.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: Report Size Deltas
-
-# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
-on:
- push:
- paths:
- - ".github/workflows/report-size-deltas.yml"
- schedule:
- # Run at the minimum interval allowed by GitHub Actions.
- # Note: GitHub Actions periodically has outages which result in workflow failures.
- # In this event, the workflows will start passing again once the service recovers.
- - cron: "*/5 * * * *"
- workflow_dispatch:
- repository_dispatch:
-
-jobs:
- report:
- runs-on: ubuntu-latest
- steps:
- - name: Comment size deltas reports to PRs
- uses: arduino/report-size-deltas@v1
- with:
- # The name of the workflow artifact created by the sketch compilation workflow
- sketches-reports-source: sketches-reports
diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml
deleted file mode 100644
index 01bee87..0000000
--- a/.github/workflows/spell-check.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Spell Check
-
-# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
-on:
- push:
- pull_request:
- schedule:
- # Run every Tuesday at 8 AM UTC to catch new misspelling detections resulting from dictionary updates.
- - cron: "0 8 * * TUE"
- workflow_dispatch:
- repository_dispatch:
-
-jobs:
- spellcheck:
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- - name: Spell check
- uses: codespell-project/actions-codespell@master