Skip to content

chore(ci): bump arduino/arduino-lint-action in the github-actions group #121

chore(ci): bump arduino/arduino-lint-action in the github-actions group

chore(ci): bump arduino/arduino-lint-action in the github-actions group #121

name: Arduino compile examples
on: [push, pull_request]
# https://github.com/marketplace/actions/compile-arduino-sketches
env:
SKETCHES_REPORTS_PATH: sketches-reports
SKETCHES_REPORTS_ARTIFACT_NAME: sketches-reports
jobs:
compile:
name: ${{ matrix.board.fqbn }}
runs-on: ubuntu-22.04
timeout-minutes: 20
strategy:
fail-fast: false
max-parallel: 20
matrix:
board:
- fqbn: "arduino:avr:uno"
platform-name: arduino:avr
- fqbn: "arduino:avr:mega"
platform-name: arduino:avr
- fqbn: "arduino:samd:mkr1000"
platform-name: arduino:samd
- fqbn: "esp8266:esp8266:generic"
platform-name: esp8266:esp8266
- fqbn: "esp8266:esp8266:d1_mini"
platform-name: esp8266:esp8266
- fqbn: "esp32:esp32:esp32"
platform-name: esp32:esp32
- fqbn: "esp32:esp32:lolin_s2_mini"
platform-name: esp32:esp32
- fqbn: "esp32:esp32:lolin_c3_mini"
platform-name: esp32:esp32
# Fix custom platform url for board matrix.
include:
- board:
platform-name: esp8266:esp8266
platforms: |
- name: esp8266:esp8266
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
version: 3.1.2
- board:
platform-name: esp32:esp32
platforms: |
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
version: 2.0.14
steps:
- uses: actions/checkout@v4
- name: Compiles every example with Arduino IDE.
uses: arduino/compile-sketches@v1
with:
platforms: ${{ matrix.platforms }}
fqbn: ${{ matrix.board.fqbn }}
enable-warnings-report: true
enable-deltas-report: true
# This step is needed to pass the size data to the report job.
- name: Upload sketches report to workflow artifact.
uses: actions/upload-artifact@v4
with:
name: ${{ env.SKETCHES_REPORTS_ARTIFACT_NAME }}
path: ${{ env.SKETCHES_REPORTS_PATH }}
# When using a matrix to compile for multiple boards, it's necessary to use a separate job for the deltas report.
report:
needs: compile # Wait for the compile job to finish to get the data for the report.
if: github.event_name == 'pull_request' # Only run the job when the workflow is triggered by a pull request.
runs-on: ubuntu-latest
steps:
# This step is needed to get the size data produced by the compile jobs.
- name: Download sketches reports artifact.
uses: actions/download-artifact@v4
with:
name: ${{ env.SKETCHES_REPORTS_ARTIFACT_NAME }}
path: ${{ env.SKETCHES_REPORTS_PATH }}
- uses: arduino/report-size-deltas@v1
with:
sketches-reports-source: ${{ env.SKETCHES_REPORTS_PATH }}