Skip to content

Add Print::printf

Add Print::printf #151

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@v4
- 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@v3
with:
if-no-files-found: error
path: ${{ env.SKETCHES_REPORTS_PATH }}
name: ${{ env.SKETCHES_REPORTS_PATH }}